lots of progress in java port