added WeaponGenerator