new persistence with generics - wip