refactor search modules