I wrote the protection stuff in the first place. Looking at this now, I hate the fact that I made the input a dict instead of a first class object.