utilities
propagating all attributes back up the hierarchy