using a OnCheckedChangeListener instead