allow pointer forward declarations
add NIL pointer