change ConnectionHandler to interface