config: use deep merge