change radio selectors to checkboxes

fix a number of undefined indexes and set early return if settings are already present so as to not overwrite.

I think it's all working. I've no way of testing the logging.