implemented different weaps