basic setup (most files are just libraries for node)