Prefer using designated initializer