sheepla client refactoring