added soft-cache base stuff