modified mul method