added Weapon class