first go at client persistence