create connection abstraction class