the more i learn about programming, the more I'm thinking DRY (don't repeat yourself) is a guideline more than a rule. There are sometimes when repeating yourself is way more clear and avoiding that repetition makes the code messier and harder to reason about? but where is that line? hmmm