preparing to once again look at my own horrible code