merge override hash recursively