setting up interface and main cache class