final
* add final specifiers * apply clang-format * fix for macOS
Credit goes to François Revol for this work.