should fix #1, #7
should fix #2
should fix #6
fix for #2