implemented persistence / state