add coverage reports (use `npm run coverage`)