more todos
wishlist for tail recursion