backup

prepare to change everything to pass by reference