changing the open/close semantics a bit