add cubic function