13 refactor search