Massive Code rewrite, added in a bunch of Tag crap