compiles with main.c