made << operator trickle down
merging