much better support for goodness
add support for changing icon, not happy with this though