refactor: make members final