implementing java