version presented in class