new java algo