added isOpen