began weapon refactor