Added designated initializer