build only if something changed