refactoring
weird refactor
updated client api
Merge branch 'wierd_refactor'