added open func prototype