automatic super initializer