todo checked - interaction + persist