open: error handling; create: reserve space