added virtual destructor to exception (seems to be necessary for older g++ versions)