call init; fixed a bug which may make super.xxx() goes into dead loop.