added prelim data struct for node tracking data
added notes, assumptions, and first round psuedo code for main func