added weapon change function