client refactoring - split crossroads and query interfaces code