mostly done coding ServerConnectionAcceptor and ClientConnection