lecture: lecture 16: before type State