Ported project to Node.js