added core exception class