shoot/gather loop implemented, untested