same refactoring as before
refactored some read only values to static finals