Finished all exercises. challenges pending.