built protoype client, works well so far, need to test