In order to practice price discrimination which of the following is needed ?

In order to practice price discrimination which of the following is needed ?

A. some degree of monopoly power
B. an ability to separate the market
C. an ability to prevent reselling
D. all of the above