revised multply overload