lecture 04: oop 2