added Main.lhs; yea we're doing this in lhs so writing the paper is easy, trust me