finished 6) except for programming