shortened own pieces, added some comments and initial prior knowledge