drop useless overrides
implemented iteration