finished figuring out monad headache