removed set_dirty from base