Realizing this is going to be much more complicated than I thought lol