complete redesign for node.js v10