Refactor Client with ReaderT