massive improvements, moving away from // node calls