Restructuring pt1
Try to improve move operations, expand test-case