Arrowhead

Refactored to a better design. 
I don't think the error message needs to be saved into a variable. Also the variable name can be confused with the method name. Please differentiate the names here.