changed compute to longer return a monad, since there is never a time when it is needed