add min , change muls implementation