oops... open: mode is a separate param