added the shoot() function not yet finished