further work on ClientRunnable's parsing logic