ensure winding order, this may cause bugs, but not for our usecase