make java client simple and unified