More work on shoot()