damn... that took a WHILE to read..