naming convention, should be CGSNClient, same for factory class below