persister and cache implementations added