constify and polish
use const ref