visual algorithm