Fixing and cleanup Open() and DoOpen().
- Not tested -
Remove DoOpen()