Changed names to avoid confusion
Added Protocol.java, mainly just for reference.