lots of ui stuff, widgeting, sanitize styles