Submitted version of moogle.