HUGE OVERHALL

SO MUCH BUG FIXING