now passes cstring instead od std::string to ifstream