moved Cache to core module