remove exec.js, fixes #3312

rebased and tested with `npm test`