added initial work for start of ex12
finished all of ex12, minus figuring out how to divide the result of a monad by 1000