First try for a Java Client implementation