variable iterative algorithm introduction