move function is not recursive anymore -> no more stack-limitations