refactor resource to use methods inside client instead of client->store