added a way to deep merge attributes