stupid stuff because I didn't design with objects