Review and consider reusing it in mpostol/TP#210
Review and consider reusing it in mpostol/TP#210