improved multiplier functionality