add catalog
modified open function