node data struct defined