it's just like my code -- it was hard to write, so it's hard to read :D