shot.h added but incomplete