add a alternativ Recursive