UI work - see change log for full details