bug #1649 added cache decorator