Because a file system has no knowledge about the data it stores,[6] applications tend to use their own, often proprietary, file formats. This hampers sharing of data between multiple applications. It becomes difficult to create an application which processes information from multiple file types, because the programmers have to understand the structure and semantics of all the files.[8] Using common file formats is a workaround to this problem but not a universal solution; there is no guarantee that all applications will use the format.