CLass updates including recursion