Half-way through #10, all existing functions are handled by file system