algorithm viability checker