This document summarizes the evolution of a C++ laplacian smoothing algorithm across multiple iterations as it is optimized to take advantage of C++11 features. The initial algorithm is rewritten using range-based for loops, move semantics, lambda functions, and multithreading to improve performance and readability. Key changes include using uniform initialization instead of initializer lists, std::array instead of C-style arrays, algorithms like std::transform and std::for_each, and parallelizing the work across threads. The discussion notes there is more to C++11 and developing a multithreaded version of the GEL library could take advantage of built-in parallelism features in C++11.