added FileSystemController, refactored file objects, added main