further Algorithm update