Added a few more tags and refactored quite a bit.