Fix 1.
Fix 2.
Fix 3.
Fix 4.
Fix 5.
Fix 6.