Update #4
Update #7
Update #9
Update #10