add NewConnection constructor