compiles in single main file