Server

Pulling work from the server branch into master.