better rotation support
fix #46
fix #50