use C++ IO stuff