Feature/node refactor