exercise 1.3 server implemented