removed sarch model
added cached_result model
implemented cache, refactored code