added exceptionsand rtti