topics are pretty much implemented, albeit with a few bugs. some results are not being calculated correctly, and in general the code could use a bit of cleaning up