changed soooo much stuff