breaking out node into its own class.