result caching, first iteration

@DavidBadura , please take a look on a cache layer (do not merge yet)

why do you call this method again?