refactor client; start on index