i added an `open` method.  if you do a read and open hasnt been called yet,  it returns an error.  i was going to wait until after adding in the fallback stuff to change this to open on read, save...