removed deep-extend