Implement more of FS abstraction