ranged unit, need a bit of fixing