better weapon handling to allow swapping