Updated spec; server code mostly working