Massive overhaul, new tag system, split up code to files.