reorganize super invocation