more abstraction of the objects needed for connection