Updated multiply implementation