feature/base client