imrovint the way checkbox, radio and select inputs are handled