finshed up through 4.2.5