fix infinite recursion in super() call