use blueprint and move search to main module