Fix #1
Fix #2
Fix #3