Public initializer