make hoppers use markDirty properly