Part of v1.1, split instruction into pieces and made custom instruction handle new types so that we do not block when executing a search.