more generic
some converter cleanup
added a "properties" property to ToString converter to use a combination of properties instead of "toString"