Separate the call to open() from the constructor