lecture: lecture 20: finish type X, Y