some changes from class 2