for optimization, we created a shape node in a lazy way, This introduced corrupted layering order issue. We fix it by keeping the object creation order. Layzing creation is just for an ideal case, It doesn't verified the performance.