refactor Connection to not use super()