add $setDirty function