added open function