new factory for long cache added updated