new solution and optimization