Version 2.0

Complete rewrite. Hopefully much, much, much better.