messing with optionals/pointers