dont use dirty flag