improved components checkbox state