factor client into pieces and add orders services and empty result classes