first half of class changes