Add private designated initializer