add super init method