Java files from good guy Keshav.