organized file structure, almost compiles