separated out persistance