platform layer for node.js