name refactoring
do until conversion fix
functions + benchmark