Fix #327.
Fix #346.
Fix #330.
Fix #329.
Fix #326.