Inital commit of Java re-write