Add gun logic
Added necessary attr_readers