made util::RuntimeError use public instead of private inheritance from std::runtime_error, was preventing polymorpic catching