Refactor: add explanations
Refactor: DRY