Safe initializer