Fix #352.
Fix #354.
Fix #247.