add probabitity function decomposition