does balance somehow good, but needs stop condition