more sophisticated addition of traits, parents, classnames, and interfaces