feat: add checkbox behavior