refactor logic of keywords into a view-based model.
correct typo
Merge branch 'develop'

refactor keywords into a view-based model