add isOpener? 2