add error handling to Haskbot monad