move user parsing into background thread