a few throwers and a fmap/lift function
errorHandler added