algo + while