separated the compiling and testing tasks