Added protocol...i'm mostl likely forgetting stuff