Search-Apply refactor start