uses node-thrust