basic media cache framework