turns out typically you pass pointers