Separating changes from old version to new version which uses Monad
Transformers.