towards lines
slight refactor, removing function.call for non selections and passing args explicitly