cleanup
added cache wrapper