make sure checkboxes preserve state as well