maximum recursion depth exceeded in comparison