weapons hierarchy refactoring