refactoring: add missing final