Need to re-think parent pointer.