make methods pure virtual where appropriate
pass std::string by const ref (!)
c++ style