adds clj implementation
abstracts persister