completed java client