lecture: lecture 18: finished