additional client methods and their implementation
refactor to use client
refactoring to use client