Added gun parts
Whole bunch of refactoring, hopefully the last