ship implementation + rotate and shoot methods