gawd I am really awful at structuring code =/