Add cache decorator