Added Optimization part