updated client with callback and parse args