cache into separate file