refactor: avoid copying/pasting