refactor: keep DRY & YAGNI