Change handling of formats (again)
Proper handling of dtype's
read(): pass dtype to read(), the rest to open()