I'm a bit torn on whether to add a delete here (if x != NULL), it would clean some things up more as long as we initialized all pointers to NULL.

-[Unknown]