generate client position