Many changes, works pretty much perfectly now

Also contains my entry for code golf in the server class