document IO now uses QIODevice