Add create and open factory methods