better not use ofstream