still trying to understand pointers and dereferencing