Fix #10
Fix #9
Fix #8