Set compiler to be extremely pedantic
split into multiple source files