Added new designated initializer