add client-flow and valid type checking for FoursquareClient