Implement most of new fs interface