Almost everything commented and fixed. Gonna try a monad out!