tested multiplication. positive numbers seem to be fine. signed with negatives are not. optimization to be done