added support for muti-mode values
 - the mode method returns an array of values rather than a single value