i spent way more time on this than i’d like to admit