separate persistence fields for easier testing
fix bugs