main calls is_open