better pass reference here