qnq: This has gone through a whole lot of changes since I originally posted, so I wanted to throw th