refactor localization from subclass to categories
add comments