add cachify method