implemented multi-value assignment