new exception and base controller