use mul instead of power