added weapon and fire methods