Finally done part 2, need to do part 3, but need to study first...