make sample compatible with EitherT monad