subclass behavior improvement