avoid unnecessary recompiles