added new exceptions, defined method for controller