pointers to 2D arrays in C are stupid