writing wrappers around connections
written, untested