implementation of weap + angle