recompile automatically