add provable fairness. close #11