implement indeterminate for checkboxes