better testing with compilation