add some optional caching
show all modules if the search entry is empty