catch bug
too complicated
simplified