more algorithm optimizations, new chart -> sum of weights