moved cache to seperate object - WIP - not for use yet