used inject and block for multiplication