might have changed more than I thought...please yell at me if there are bugs >_<