optimisation : removal of += for multiple sources
commit for profiling