add reload, fire and cooldown