adding final declarations where possible
code style refactor