change everything to const ref
Merge remote-tracking branch 'froed@gitHub/master' into optimization