delete first, then recompile