handle checkboxes better