first stab at java API