added keyword filter
refactored