Initial gun implementation.

Signed-off-by: Joshua Schwarz <jjs209@case.edu>