tasks envolving recursion