moved new exception class to seperate file