start work on moving from error to ExceptT monad transformer