reason for double pointers in structure