adding custom exceptions
updating Operation to use new Path exception