restructured a bunch of shit... ugh.