maybe better shooting function?