simplify most complex methods