handle multiple key definitions
resolve merge