adapted the contributing page from sklearn