add some register tests and fixes; switch bool to string for unset detection