refactoring big integer multiply