(refactor) updated node system