change everything to const ref