iterative and recursive addition