compile, and then commit