Ugh, this is messy still but I need to stop