a few more cleanups
fixes
attribute unserialization is working again
the label still needs to be set if it isn't specified