the alternative loop is improved^^