Lots of features added.
Essentially the first real commit.