Define the designated initializer