supports multi-values for one-key (REFACTORING)