Added cache decorator