Implementing server
Merge remote-tracking branch 'origin/master'
Full implementation of server, need to be verified and link made.