Separated fileSystem functionality

And added file read and cached reads...