Files for lesson 4, hard problem not finished.