First stab at all of the updated handling on the java side