finished server part 2,3,4