add isOpener? 3