CINXE.COM
A Good Girl’s Guide to Murder – Author Holly Jackson – Underlined
<!DOCTYPE html> <!--[if IE 8]> <html class="ie ie8" lang="en-US"> <![endif]--> <!--[if !(IE 7) | !(IE 8) ]><!--> <html lang="en-US"> <!--<![endif]--> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-f04512138fa8cdc03cd",applicationID:"433035978"};;/*! For license information please see nr-loader-rum-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>h,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function h(e,t){if(!e)throw new Error(f);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,xv:()=>n});const n="1.274.0",i="PROD",o="CDN"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>o,gm:()=>a,mw:()=>s,sb:()=>u});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=g(n),c=h(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=m()[s[e]];p&&p.push([f,e,r,a]);return a},get:v,listeners:h,context:g,buffer:function(e,t){const r=m();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>a});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3434:(e,t,r)=>{"use strict";r.d(t,{YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log";n.K7.logging},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{G4:()=>i});var n=r(2614);r(860).K7.sessionReplay;const i={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"};n.g.ERROR,n.g.FULL,n.g.OFF},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7603:(e,t,r)=>{"use strict";r.d(t,{j:()=>P});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),g=r(384),p=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],v=["setErrorHandler","finished","addToTrace","addRelease"];var m=r(1863),b=r(2614),y=r(993);var w=r(2646),A=r(3434);function R(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,A.YM)(i),a=new w.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function E(){const e=(0,g.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const x={};function _(e,t,g=!1){t||(0,c.Ak)(e,"api");const h={};var w=s.ee.get(e),A=w.get("tracer");x[e]=b.g.OFF,w.on(p.G4.REPLAY_RUNNING,(t=>{x[e]=t}));var E="api-",_=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),j(E,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}h.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,w),function(e,t,r={},i=y.p_.INFO){(0,a.p)(f.xV,["API/logging/".concat(i.toLowerCase(),"/called")],void 0,n.K7.metrics,e),(0,a.p)(y.ET,[(0,m.t)(),t,r,i],void 0,n.K7.logging,e)}(w,e,t,r)},h.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,w),R(w,e,t,{customAttributes:r,level:i})},v.forEach((e=>{h[e]=j(E,e,!0,"api")})),h.addPageAction=j(E,"addPageAction",!0,n.K7.genericEvents),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,j(E,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},h.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},h.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,w),w.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},h[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,w)},h[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,w),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,w)},h.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,w),g||(0,a.p)(_+"tracer",[(0,m.t)(),e,r],i,n.K7.spa,w),function(){if(A.emit((o?"":"no-")+"fn-start",[(0,m.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw A.emit("fn-err",[arguments,this,t],r),t}finally{A.emit("fn-end",[(0,m.t)()],r)}}}};function j(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,w),i&&(0,a.p)(e+t,[(0,m.t)(),...arguments],r?null:this,i,w),r?void 0:this}}function k(){r.e(296).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),w.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{S[e]=j(_,e,void 0,g?n.K7.softNav:n.K7.spa)})),h.setCurrentRouteName=g?j(_,"routeName",void 0,n.K7.softNav):j(E,"routeName",!0,n.K7.spa),h.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,w),(0,a.p)("err",[t,(0,m.t)(),!1,r,!!x[e]],void 0,n.K7.jserrors,w)},d.RI?(0,u.GG)((()=>k()),!0):k(),h}var N=r(9417),T=r(8122);const S={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},j={};var k=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let O=!1;function P(e,t={},r,n){let{init:a,info:c,loader_config:u,runtime:l={},exposed:f=!0}=t;l.loaderType=r;const p=(0,g.pV)();c||(a=p.init,c=p.info,u=p.loader_config),(0,N.xN)(e.agentIdentifier,a||{}),function(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");j[e]=(0,T.a)(t,S);const r=(0,g.nY)(e);r&&(r.loader_config=j[e])}(e.agentIdentifier,u||{}),c.jsAttributes??={},d.bv&&(c.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,c);const h=(0,N.D0)(e.agentIdentifier),v=[c.beacon,c.errorBeacon];O||(h.proxy.assets&&(I(h.proxy.assets),v.push(h.proxy.assets)),h.proxy.beacon&&v.push(h.proxy.beacon),E(),(0,g.US)("activatedFeatures",k.B),e.runSoftNavOverSpa&&=!0===h.soft_navigations.enabled&&h.feature_flags.includes("soft_nav")),l.denyList=[...h.ajax.deny_list||[],...h.ajax.block_internal?v:[]],l.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,l),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=_(e.agentIdentifier,n,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=f),O=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.274.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={296:"sha512-gkYkZDAwQ9PwaDXs2YM+rNIdRej1Ac1mupWobRJ8eahQcXz6/sunGZCKklrzi5kWxhOGRZr2tn0rEKuLTXzfAA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={840:0,374:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(7603);var l=i(1687),f=i(4234),g=i(5289),p=i(6154),h=i(384);const v=e=>p.RI&&!0===(0,s.gD)(e,"privacy.cookies_enabled");function m(e){return!!(0,h.dV)().o.MO&&v(e)&&!0===(0,s.gD)(e,"session_trace.enabled")}var b=i(6389);class y extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,b.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if(v(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(296).then(i.bind(i,3861));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(296).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(296).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,g.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return m(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var w=i(6630);class A extends y{static featureName=w.T;constructor(e,t=!0){super(e,w.T,t),this.importAggregator(e)}}var R=i(9908),E=i(2843),x=i(3878),_=i(782),N=i(1863);class T extends y{static featureName=_.T;constructor(e,t=!0){super(e,_.T,t),p.RI&&((0,E.u)((()=>(0,R.p)("docHidden",[(0,N.t)()],void 0,_.T,this.ee)),!0),(0,x.sp)("pagehide",(()=>(0,R.p)("winPagehide",[(0,N.t)()],void 0,_.T,this.ee))),this.importAggregator(e))}}var S=i(3969);class j extends y{static featureName=S.TZ;constructor(e,t=!0){super(e,S.TZ,t),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,h.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(A),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,h.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[A,T,j],loaderType:"lite"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> <link rel="profile" href="http://gmpg.org/xfn/11" /> <link rel="pingback" href="" /> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v20.12 - https://yoast.com/wordpress/plugins/seo/ --> <title>A Good Girl’s Guide to Murder – Author Holly Jackson – Underlined</title> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:site_name" content="Underlined" /> <meta name="twitter:card" content="summary_large_image" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.getunderlined.com/#website","url":"https://www.getunderlined.com/","name":"Underlined","description":"Where Books are Life","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.getunderlined.com/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//www.getunderlined.com' /> <link rel='dns-prefetch' href='//cdn.quilljs.com' /> <link rel='dns-prefetch' href='//use.typekit.net' /> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.getunderlined.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.2.2"}}; /*! This file is auto-generated */ !function(e,a,t){var n,r,o,i=a.createElement("canvas"),p=i.getContext&&i.getContext("2d");function s(e,t){p.clearRect(0,0,i.width,i.height),p.fillText(e,0,0);e=i.toDataURL();return p.clearRect(0,0,i.width,i.height),p.fillText(t,0,0),e===i.toDataURL()}function c(e){var t=a.createElement("script");t.src=e,t.defer=t.type="text/javascript",a.getElementsByTagName("head")[0].appendChild(t)}for(o=Array("flag","emoji"),t.supports={everything:!0,everythingExceptFlag:!0},r=0;r<o.length;r++)t.supports[o[r]]=function(e){if(p&&p.fillText)switch(p.textBaseline="top",p.font="600 32px Arial",e){case"flag":return s("\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!s("\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!s("\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!s("\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}(o[r]),t.supports.everything=t.supports.everything&&t.supports[o[r]],"flag"!==o[r]&&(t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&t.supports[o[r]]);t.supports.everythingExceptFlag=t.supports.everythingExceptFlag&&!t.supports.flag,t.DOMReady=!1,t.readyCallback=function(){t.DOMReady=!0},t.supports.everything||(n=function(){t.readyCallback()},a.addEventListener?(a.addEventListener("DOMContentLoaded",n,!1),e.addEventListener("load",n,!1)):(e.attachEvent("onload",n),a.attachEvent("onreadystatechange",function(){"complete"===a.readyState&&t.readyCallback()})),(e=t.source||{}).concatemoji?c(e.concatemoji):e.wpemoji&&e.twemoji&&(c(e.twemoji),c(e.wpemoji)))}(window,document,window._wpemojiSettings); </script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='formidable-css' href='https://www.getunderlined.com/wp-admin/admin-ajax.php?action=frmpro_css&ver=11121912' type='text/css' media='all' /> <style id='safe-svg-svg-icon-style-inline-css' type='text/css'> .safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{height:100%;max-height:100%;max-width:100%;width:100%} </style> <link rel='stylesheet' id='adobe-fonts-css' href='https://use.typekit.net/orq1dzl.css' type='text/css' media='all' /> <link rel='stylesheet' id='bootstrap-css' href='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/bootstrap/css/bootstrap.min.css?ver=6.2.2' type='text/css' media='all' /> <link rel='stylesheet' id='slick-css' href='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/slick/slick.css?ver=6.2.2' type='text/css' media='all' /> <link rel='stylesheet' id='selectric-css' href='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/selectric/selectric.css?ver=6.2.2' type='text/css' media='all' /> <link rel='stylesheet' id='icomoon-css' href='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/icomoon/style.css?ver=2.1.472' type='text/css' media='all' /> <link rel='stylesheet' id='fancybox-css' href='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/fancybox/jquery.fancybox.min.css?ver=6.2.2' type='text/css' media='all' /> <link rel='stylesheet' id='dropzone-css' href='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/dropzone/min/dropzone.min.css?ver=6.2.2' type='text/css' media='all' /> <link rel='stylesheet' id='quill-css' href='//cdn.quilljs.com/1.3.6/quill.snow.css?ver=6.2.2' type='text/css' media='all' /> <link rel='stylesheet' id='underlined-style-css' href='https://www.getunderlined.com/wp-content/uploads/wp-less/underlined/assets/less/style-63d7882e29.css' type='text/css' media='all' /> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/plugins/jquery-updater/js/jquery-3.7.1.min.js?ver=3.7.1' id='jquery-core-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/plugins/jquery-updater/js/jquery-migrate-3.5.2.min.js?ver=3.5.2' id='jquery-migrate-js'></script> <meta name="generator" content="WordPress 6.2.2" /> <!-- Stream WordPress user activity plugin v4.0.2 --> <script>document.documentElement.className += " js";</script> <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style><link rel="icon" href="https://www.getunderlined.com/wp-content/uploads/2023/09/cropped-UND_Rebrand_Launch_Soc_Icon5-32x32.jpg" sizes="32x32" /> <link rel="icon" href="https://www.getunderlined.com/wp-content/uploads/2023/09/cropped-UND_Rebrand_Launch_Soc_Icon5-192x192.jpg" sizes="192x192" /> <link rel="apple-touch-icon" href="https://www.getunderlined.com/wp-content/uploads/2023/09/cropped-UND_Rebrand_Launch_Soc_Icon5-180x180.jpg" /> <meta name="msapplication-TileImage" content="https://www.getunderlined.com/wp-content/uploads/2023/09/cropped-UND_Rebrand_Launch_Soc_Icon5-270x270.jpg" /> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <![endif]--> <script type="text/javascript"> !function(e,t,a){window.PRHWidgets={},window.PRHWidgets.ready=function(d){var n,o=e.getElementsByTagName(t)[0],c=!1;e.getElementById(a)||(n=e.createElement(t),n.id=a,n.async=!0,n.src=e.location.protocol+"//widgets.penguinrandomhouse.com/Include/JS/V2.0/ScriptPackage.ashx?widgetid=19",n.onreadystatechange=n.onload=function(){n.readyState&&"complete"!==n.readyState&&"loaded"!==n.readyState||c||(c=!0,PRHWidgets.$&&PRHWidgets.$(document).ready(d))},o.parentNode.insertBefore(n,o))}}(document,"script","prh-jssdk"); </script> </head> <body class="blog books not-logged-in"> <!-- Tealium Code --> <script type="text/javascript"> var utag_data = { "page_type": "Product Details Page", "ip_country": "HK" } </script> <script type="text/javascript"> (function(a,b,c,d){ a='//tags.tiqcdn.com/utag/random/rh-kids/prod/utag.js'; b=document;c='script';d=b.createElement(c);d.src=a;d.type='text/java'+c;d.a sync=true; a=b.getElementsByTagName(c)[0];a.parentNode.insertBefore(d,a); })(); </script> <!-- /Tealium Code --> <div class="wrapper"> <div class="header-wrapper"> <div class="navbar-top"> <span class="c1"></span> <span class="c2"></span> <span class="c3"></span> <span class="c4"></span> <span class="c5"></span> </div> <nav class="navbar navbar-expand-lg navbar-light site-main-menu"> <div class="container"> <a class="logo" href="https://www.getunderlined.com/"> <img src="https://www.getunderlined.com/wp-content/themes/underlined/assets/images/logo-underlined.svg" alt="" class="img-fluid" width="215" height="72"> </a> <div class="header-right"> <div class="search-form-wrapper"> <button type="button" class="search-form-toggle"><span class="icon-search"></span></button> <div class="search-form"> <div class="d-flex align-items-center"> <form role="search" method="get" action="https://www.getunderlined.com/"> <div class="form-item clearfix"> <input type="search" name="s" value="" placeholder="Search Your Next Read" autocomplete="off"> <button type="submit"><span class="icon-search"></span></button> </div> </form> <button type="button" class="search-form-close"><span class="icon-close"></span></button> </div> </div> </div> <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#main-menu" aria-controls="main-menu" aria-expanded="false" aria-label="Toggle navigation"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div class="collapse navbar-collapse flex-grow-0" id="main-menu"> <ul id="nav" class="navbar-nav mr-auto clearfix"><li id="menu-item-560183" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-560183"><a href="https://www.getunderlined.com/books/"><span>Books</span></a> <ul class="sub-menu"> <li id="menu-item-646751" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-646751"><a href="https://www.getunderlined.com/books/best-sellers/"><span>Bestsellers</span></a></li> <li id="menu-item-646752" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-646752"><a href="https://www.getunderlined.com/books/new-releases/"><span>New Releases</span></a></li> <li id="menu-item-646753" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-646753"><a href="https://www.getunderlined.com/books/coming-soon/"><span>Coming Soon</span></a></li> <li id="menu-item-646754" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-646754"><a href="https://www.getunderlined.com/books/award-winners/"><span>Award Winners</span></a></li> <li id="menu-item-646756" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-646756"><a href="https://www.getunderlined.com/books/"><span>View All</span></a></li> </ul> </li> <li id="menu-item-556396" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-556396"><a href="https://www.getunderlined.com/discover/"><span>Discover</span></a> <ul class="sub-menu"> <li id="menu-item-556397" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-556397"><a href="https://www.getunderlined.com/discover/articles/"><span>Articles</span></a></li> <li id="menu-item-556399" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-556399"><a href="https://www.getunderlined.com/discover/quizzes/"><span>Quizzes</span></a></li> <li id="menu-item-556400" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-556400"><a href="https://www.getunderlined.com/discover/videos/"><span>Videos</span></a></li> <li id="menu-item-556395" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-556395"><a href="https://www.getunderlined.com/reading-lists/"><span>Reading Lists</span></a></li> <li id="menu-item-646755" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-646755"><a href="https://www.getunderlined.com/discover/"><span>View All</span></a></li> </ul> </li> <li id="menu-item-556405" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-556405"><a href="https://www.getunderlined.com/events/"><span>Events</span></a></li> <li id="menu-item-556406" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-556406"><a href="https://www.getunderlined.com/shop/"><span>Merch</span></a></li> <li id="menu-item-632432" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-632432"><a href="https://getunderlined.com/newsletter"><span>Newsletter</span></a></li> </ul> </div> </div> </nav> </div> <div class="page-title-placeholder"></div> <div class="book-page-main"> <div class="container"> <article class="book-page js-book-page js-themes-are-set"> <div class="book__topper-mod ember-view js-book-campaign book__topper-mod d-lg-flex align-items-start"> <div role="banner" class="book__topper"> <div class="book__topper__color-block"> <div class="dimensional-book__perspective"> <figure class="dimensional-book-block cover-is-loaded"> <div class="dimensional-book__transform"> <div class="dimensional-book__cover"> <div class="dimensional-book__img-mod"> <img class="dimensional-book__img--thumbnail" crossorigin="anonymous" src="https://images.penguinrandomhouse.com/cover/700jpg/9781984896391" alt="Cover of A Good Girl\'s Guide to Murder" class="img-fluid"> </div> </div> </div> </figure> </div> </div> <div class="c-product__actions c-product__actions__bottom d-flex justify-content-between c-product__actions__buttons-3"> <div class="c-product__btn-container c-product__btn-container-excerpt"> <a href="#popup-excerpt" class="c-btn c-product__cta js-popup-open" onclick='utag.link({ "event_type":"read_excerpt", "product_author": ["Holly Jackson"], "product_title": ["A Good Girl's Guide to Murder"], "product_isbn": ["9781984896391"], "product_category": ["Juvenile Fiction"], "product_imprint": ["Ember"], "product_division": ["RH Childrens Books"] });'><span>Read Excerpt</span></a> </div> <div class="c-product__btn-container"> <a href="https://www.goodreads.com/book/isbn/9781984896391" target="_blank" class="c-btn c-product__cta">+ <span>Goodreads</span></a> </div> </div> </div> <div class="book__hgroup book__hgroup--api ember-view"> <header class="book__hgroup__inner"> <h1 class="book__title js-work-title book__title--short">A Good Girl's Guide to Murder</h1> <div class="d-flex flex-wrap book-single-meta justify-content-between"> <p class="book__contrib-mod ember-view"> <span class="book_topper__contrib js-work-author js-contrib js-contrib-A"> By <span class="contributor-list"> <span class="contributor-list--single"> <a href="/authors/2159079/holly-jackson" class="contributor-list--link js-contrib-link ember-view">Holly Jackson</a> </span> </span> </span> </p> <p class="book__coming-soon">Best Seller </p> </div> </header> <div class="edition-dropdown" style="margin-bottom: 10px;"> <select onChange='document.location.href=this.options[this.selectedIndex].value;'> <!-- <option value="">Select an Edition</option> --> <option value="https://www.getunderlined.com/books/607351/a-good-girls-guide-to-murder-by-holly-jackson/9781984896391" selected>Paperback</option> <option value="https://www.getunderlined.com/books/607351/a-good-girls-guide-to-murder-by-holly-jackson/9781984896360">Hardcover</option> <option value="https://www.getunderlined.com/books/607351/a-good-girls-guide-to-murder-by-holly-jackson/9781984896384">Ebook</option> <option value="https://www.getunderlined.com/books/607351/a-good-girls-guide-to-murder-by-holly-jackson/9780593155257">Audio</option> </select> </div> <div class="c-popup__list-container"> <ul class="c-popup__list clearfix"> <li class="c-popup__item"> <div class="c-popup__action"> <a href="http://links.penguinrandomhouse.com/type/affiliate/isbn/9781984896391/siteID/8001/retailerid/7/trackingcode/randohouseinc44263-20" class="c-btn c-product__cta c-product__cta--alt c-product__cta--alter" rel="nofollow" target="_blank" onclick='utag.link({ "event_type":"affiliate_click", "page_type":"Product Details Page", "affiliate_name": "Amazon", "product_author": ["Holly Jackson"], "product_title": ["A Good Girl's Guide to Murder"], "product_isbn": ["9781984896391"], "product_category": ["Juvenile Fiction"], "product_imprint": ["Ember"], "product_division": ["RH Childrens Books"] });'> Amazon </a> </div> </li> <li class="c-popup__item"> <div class="c-popup__action"> <a href="http://links.penguinrandomhouse.com/type/affiliate/isbn/9781984896391/siteID/8001/retailerid/2/trackingcode/PRHED5E389ED0" class="c-btn c-product__cta c-product__cta--alt c-product__cta--alter" rel="nofollow" target="_blank" onclick='utag.link({ "event_type":"affiliate_click", "page_type":"Product Details Page", "affiliate_name": "Barnes & Noble", "product_author": ["Holly Jackson"], "product_title": ["A Good Girl's Guide to Murder"], "product_isbn": ["9781984896391"], "product_category": ["Juvenile Fiction"], "product_imprint": ["Ember"], "product_division": ["RH Childrens Books"] });'> Barnes & Noble </a> </div> </li> <li class="c-popup__item"> <div class="c-popup__action"> <a href="http://links.penguinrandomhouse.com/type/affiliate/isbn/9781984896391/siteID/8001/retailerid/5/trackingcode/PRHED5E389ED0" class="c-btn c-product__cta c-product__cta--alt c-product__cta--alter" rel="nofollow" target="_blank" onclick='utag.link({ "event_type":"affiliate_click", "page_type":"Product Details Page", "affiliate_name": "BAM", "product_author": ["Holly Jackson"], "product_title": ["A Good Girl's Guide to Murder"], "product_isbn": ["9781984896391"], "product_category": ["Juvenile Fiction"], "product_imprint": ["Ember"], "product_division": ["RH Childrens Books"] });'> BAM </a> </div> </li> <li class="c-popup__item"> <div class="c-popup__action"> <a href="http://links.penguinrandomhouse.com/type/affiliate/isbn/9781984896391/siteID/8001/retailerid/29/trackingcode/penguinrandom" class="c-btn c-product__cta c-product__cta--alt c-product__cta--alter" rel="nofollow" target="_blank" onclick='utag.link({ "event_type":"affiliate_click", "page_type":"Product Details Page", "affiliate_name": "Bookshop.org", "product_author": ["Holly Jackson"], "product_title": ["A Good Girl's Guide to Murder"], "product_isbn": ["9781984896391"], "product_category": ["Juvenile Fiction"], "product_imprint": ["Ember"], "product_division": ["RH Childrens Books"] });'> Bookshop.org </a> </div> </li> <li class="c-popup__item"> <div class="c-popup__action"> <a href="http://links.penguinrandomhouse.com/type/affiliate/isbn/9781984896391/siteID/8001/retailerid/23/trackingcode/PRHED5E389ED0" class="c-btn c-product__cta c-product__cta--alt c-product__cta--alter" rel="nofollow" target="_blank" onclick='utag.link({ "event_type":"affiliate_click", "page_type":"Product Details Page", "affiliate_name": "Target", "product_author": ["Holly Jackson"], "product_title": ["A Good Girl's Guide to Murder"], "product_isbn": ["9781984896391"], "product_category": ["Juvenile Fiction"], "product_imprint": ["Ember"], "product_division": ["RH Childrens Books"] });'> Target </a> </div> </li> <li class="c-popup__item"> <a href="#popup-buy" class="c-btn c-product__cta c-product__cta--alt c-product__cta--alter js-popup-open" data-utag_tracking='{"event_type":"buy_button", "product_author": "Holly Jackson", "product_title": "A_Good_Girl_s_Guide_to_Murder", "product_isbn": ["9781984896391"], "product_imprint": ["Random House"], "product_division": "72"}'>Other</a> </li> </ul> </div> <div class="book__content ember-view"> <div class="book__content"> <div class="book__body"> <div id="description" class="book__text-mod ember-view"> <section class="book__text"> <div class="ember-view"> <div aria-live="polite" class="js-work-description"> <p><b>THE MUST-READ MULTIMILLION BESTSELLING MYSTERY SERIES<b>—</b>NOW ON NETFLIX! • This is the story about an investigation turned obsession, full of twists and turns and with an ending you'll never expect. </b></p> <p>Everyone in Fairview knows the story.</p> <p>Pretty and popular high school senior Andie Bell was murdered by her boyfriend, Sal Singh, who then killed himself. It was all anyone could talk about. And five years later, Pip sees how the tragedy still haunts her town.</p> <p>But she can't shake the feeling that there was more to what happened that day. She knew Sal when she was a child, and he was always so kind to her. How could he possibly have been a killer?</p> <p>Now a senior herself, Pip decides to reexamine the closed case for her final project, at first just to cast doubt on the original investigation. But soon she discovers a trail of dark secrets that might actually prove Sal innocent . . . and the line between past and present begins to blur. Someone in Fairview doesn't want Pip digging around for answers, and now her own life might be in danger.</p> <p><b>And don't miss the sequel, </b><i><b>Good Girl, Bad Blood!</b> </i></p> <p><b>"The perfect nail-biting mystery." —Natasha Preston, #1 <i>New York Times </i>bestselling author</b></p> </div> </div> </section> </div> </div> </div> </div> </div> </div> </article> </div> </div> <div class="related-books-block"> <div class="container"> <div class="l-cms-row"> <div class="l-section-heading"> <div class="l-inner"> <h2 class="c-section-heading">Also by Holly Jackson</h2> </div> </div> </div> <div class="l-cms-row l-cms-row--related-books-content"> <div class="l-section"> <div class="l-inner"> <div class="c-slider"> <div class="swiper-container swiper-container--alt"> <div class="swiper-wrapper"> <div class="swiper-slide"> <a href="https://www.getunderlined.com/books/668983/five-survive-by-holly-jackson" class="c-slider__link"> <div class="c-slider__img-container"> <figure> <img src="https://images.penguinrandomhouse.com/cover/9780593374191" alt="Five Survive" class="img-fluid"> </figure> </div> </a> </div> <div class="swiper-slide"> <a href="https://www.getunderlined.com/books/668984/the-reappearance-of-rachel-price-by-holly-jackson" class="c-slider__link"> <div class="c-slider__img-container"> <figure> <img src="https://images.penguinrandomhouse.com/cover/9780593374207" alt="The Reappearance of Rachel Price" class="img-fluid"> </figure> </div> </a> </div> <div class="swiper-slide"> <a href="https://www.getunderlined.com/books/673898/kill-joy-by-holly-jackson" class="c-slider__link"> <div class="c-slider__img-container"> <figure> <img src="https://images.penguinrandomhouse.com/cover/9780593426210" alt="Kill Joy" class="img-fluid"> </figure> </div> </a> </div> <div class="swiper-slide"> <a href="https://www.getunderlined.com/books/723547/a-good-girls-guide-to-murder-complete-series-paperback-boxed-set-by-holly-jackson" class="c-slider__link"> <div class="c-slider__img-container"> <figure> <img src="https://images.penguinrandomhouse.com/cover/9780593651520" alt="A Good Girl's Guide to Murder Complete Series Paperback Boxed Set" class="img-fluid"> </figure> </div> </a> </div> <div class="swiper-slide"> <a href="https://www.getunderlined.com/books/672001/as-good-as-dead-by-holly-jackson" class="c-slider__link"> <div class="c-slider__img-container"> <figure> <img src="https://images.penguinrandomhouse.com/cover/9780593379882" alt="As Good as Dead" class="img-fluid"> </figure> </div> </a> </div> <div class="swiper-slide"> <a href="https://www.getunderlined.com/books/710126/a-good-girls-guide-to-murder-series-boxed-set-by-holly-jackson" class="c-slider__link"> <div class="c-slider__img-container"> <figure> <img src="https://images.penguinrandomhouse.com/cover/9780593568477" alt="A Good Girl's Guide to Murder Series Boxed Set" class="img-fluid"> </figure> </div> </a> </div> <div class="swiper-slide"> <a href="https://www.getunderlined.com/books/607352/good-girl-bad-blood-by-holly-jackson" class="c-slider__link"> <div class="c-slider__img-container"> <figure> <img src="https://images.penguinrandomhouse.com/cover/9781984896438" alt="Good Girl, Bad Blood" class="img-fluid"> </figure> </div> </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="related-articles-block"> <div class="container container-2"> <div class="l-cms-row l-cms-row--related-articles-heading"> <div class="l-section-heading"> <div class="l-inner text-center"> <h2 class="c-section-heading mb-0">Featured In</h2> <p>Read more about this book and author</p> </div> </div> </div> <div class="l-cms-row l-cms-row--related-articles-content"> <div class="l-section"> <div class="l-inner posts-listing-grid"> <div class="c-teasers-row row"> <div class="col-12 col-md-4 d-flex flex-column"> <div class="post-grid-item d-flex flex-column type-article"> <div class="image"> <a href="https://www.getunderlined.com/article/books-to-read-this-summer-binge-worthy-ya-series/"> <span class="img-bg"> <img src="https://www.getunderlined.com/wp-content/uploads/2019/07/007_UNDERLINED_June_PhoebeCheongPhoto-768x960.jpg" alt="" class="img-fluid"> </span> <span class="hover-button">Read More</span> </a> </div> <div class="text"> <h3><a href="https://www.getunderlined.com/article/books-to-read-this-summer-binge-worthy-ya-series/">Books to Read this Summer: Binge-worthy YA Series</a></h3> <div class="article-label">Article</div> </div> </div> </div> <div class="col-12 col-md-4 d-flex flex-column"> <div class="post-grid-item d-flex flex-column type-article"> <div class="image"> <a href="https://www.getunderlined.com/article/thriller-books-by-holly-jackson/"> <span class="img-bg"> <img src="https://www.getunderlined.com/wp-content/uploads/2023/02/ReappearanceRachel_Soc1_SQ_2P-768x768.jpg" alt="" class="img-fluid"> </span> <span class="hover-button">Read More</span> </a> </div> <div class="text"> <h3><a href="https://www.getunderlined.com/article/thriller-books-by-holly-jackson/">Thrillers You Need to Read by Holly Jackson</a></h3> <div class="article-label">Article</div> </div> </div> </div> <div class="col-12 col-md-4 d-flex flex-column"> <div class="post-grid-item d-flex flex-column type-article"> <div class="image"> <a href="https://www.getunderlined.com/article/last-minute-literary-costumes-you-can-create-for-0/"> <span class="img-bg"> <img src="https://www.getunderlined.com/wp-content/uploads/2017/10/011_UnderlinedOct_PhoebeCheongPhoto-768x1152.jpg" alt="" class="img-fluid"> </span> <span class="hover-button">Read More</span> </a> </div> <div class="text"> <h3><a href="https://www.getunderlined.com/article/last-minute-literary-costumes-you-can-create-for-0/">Steal Their Look: Last-Minute Literary Costumes You Can Create for $0</a></h3> <div class="article-label">Article</div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="l-popup" id="popup-excerpt"> <div class="c-popup"> <a href="#" class="c-popup-close js-popup-close is-type-0"> <span class="icon-close"></span> </a> <div class="c-popup__content"> <div class="c-popup__read-excerpt-container c-cms-content"> <div class="c-popup__read-excerpt-container__title-container"> <div class="h1 c-product__title c-product__title--popup">A Good Girl's Guide to Murder</div> <span class="c-product__sub-title c-product__sub-title--popup">By <strong>Holly Jackson</strong></span> </div> <div class="c-popup__read-excerpt-container__desc-container"> <div class="c-popup__read-excerpt-container__desc"> <p>one</p> <p> </p> <p>Pip knew where they lived. </p> <p>Everyone in Fairview knew where they lived. </p> <p>Their home was like the town’s own haunted house; people’s footsteps quickened as they walked by, and their words strangled and died in their throats. Shrieking children would gather on their walk home from school, daring one another to run up and touch the front gate. </p> <p>But it wasn’t haunted by ghosts, just three sad people trying to live their lives as before. A house not haunted by flickering lights or spectral falling chairs, but by dark spray-­painted letters of “Scum Family” and stone-­shattered windows. </p> <p>Pip had always wondered why they didn’t move. Not that they had to; they hadn’t done anything wrong. But she didn’t know how they lived like that. How the Singhs found the strength to stay here. Here, in Fairview, under the weight of so many widened eyes, of the comments whispered just loud enough to be heard, of neighborly small talk never stretching into real talk anymore. </p> <p>It was a particular cruelty that their house was so close to Fairview High School, where both Andie Bell and Sal Singh had gone, where Pip would return for her senior year in a few weeks when the late-­summer sun dipped into September. </p> <p>Pip stopped and rested her hand on the front gate, instantly braver than half the town’s kids. Her eyes traced the path to the front door. It was possible that this was a very bad idea; she had considered that. </p> <p>Pausing for just a second, Pip held her breath, then pushed the creaking gate and crossed the yard. She stopped at the door and knocked three times. Her reflection stared back at her: the long dark hair sun-­bleached a lighter brown at the tips, the pale white skin despite a week just spent in the Caribbean, the sharp muddy-­green eyes braced for impact. </p> <p>The door opened with the clatter of a falling chain and clicking locks. </p> <p>“H-­hello?” he said, holding the door half open, with his hand folded over the side. Pip blinked to break her stare, but she couldn’t help it. He looked so much like Sal: the Sal she knew from all those television reports and newspaper pictures. The Sal now fading from her memory. Ravi had his brother’s messy black side-swept hair, thick arched eyebrows, and oaken-­hued skin. </p> <p>“Hello?” he said again. </p> <p>“Um . . .” Pip faltered. He’d grown even taller since she last saw him. She’d never been this close before, but now that she was, she saw he had a dimple in his chin, just like hers. “Um, sorry, hi.” She did an awkward half wave that she immediately regretted. </p> <p>“Hi?”</p> <p>“Hi, Ravi,” she said. “I . . . You don’t know me. . . . I’m Pippa Fitz-­Amobi. I was a few years below you at school before you left.” </p> <p>“OK . . .” </p> <p>“I was just wondering if I could borrow a second of your time? Well, not only a second, we’re already way past that. . . . Maybe like a few sequential seconds, if you can spare them?” </p> <p>Oh god, this was what happened when she was nervous: words spewed out, unchecked and overexplained, until someone stopped her.</p> <p>Ravi looked confused. </p> <p>“Sorry,” Pip said, recovering. “I mean, I’m doing my senior capstone project at school and—­”</p> <p>“What’s a capstone project?”</p> <p> “It’s kind of like a senior thesis you work on independently, alongside normal classes. You can pick any topic you want, and I was wondering if you’d be willing to be interviewed for mine.” </p> <p>“What’s it about?” His dark eyebrows hugged closer to his eyes. </p> <p>“Um . . . it’s about what happened five years ago.” </p> <p>Ravi exhaled loudly, his lip curling with what looked like anger. </p> <p>“Why?” he said. </p> <p>“Because I don’t think your brother did it—­and I’m going to try to prove it.”</p> <p> </p> <p>Pippa Fitz-­Amobi</p> <p> </p> <p>7/30/19</p> <p> </p> <p>Capstone Project Log—­Entry 1</p> <p> </p> <p>Our capstone project logs are supposed to be for recording any obstacles we face in our research; our progress; and the aims of our final reports. Mine will have to be a little different: I’m going to record all my research here, both relevant and irrelevant, because I don’t really know what my final report will be yet or what will end up being important. I will just have to wait and see where I’m at after all my investigating and what essay I can bring together.</p> <p>I’m hoping it will not be the topic I proposed to Mrs. Morgan. I’m hoping it will be the truth. What really happened to Andie Bell on April 18, 2014? And if—­as my instincts tell me—Salil “Sal” Singh is not guilty, then who killed her? </p> <p>I don’t think I’ll actually solve the case and figure out who murdered Andie. I’m not deluded. But I’m hoping my findings might lead to reasonable doubt about Sal’s guilt, and suggest that the police were mistaken in closing the case without digging further. </p> <p>The first stage in this project is to research what happened to Andrea Bell—­known to everyone as Andie—­and the circumstances surrounding her disappearance. </p> <p>From the first national online news outlet to report on the event: </p> <p>Andrea Bell, seventeen, was reported missing from her home in Fairview, Connecticut, last Friday.</p> <p>She left home in her car—­a white Honda Civic—­with her cell phone, but did not take any clothes with her. Police say her disappearance is “completely out of character.” </p> <p>Police began searching the woodland near the family home this past weekend. </p> <p>Andrea, known as Andie, is described as white, five feet six inches tall, with long blond hair and blue eyes. It is thought that she was wearing dark jeans and a blue cropped sweater on the night she went missing.1 </p> <p>Other sources had more details as to when Andie was last seen alive, and the time frame in which she is believed to have been abducted. </p> <p>Andie Bell was “last seen alive by her younger sister, Becca, around 10:30 p.m. on April 18, 2014.”2</p> <p>This was corroborated by the police in a press conference on Tuesday, April 22: “Footage taken from a security camera outside the bank on Fairview’s Main Street confirms that Andie’s car was seen driving away from her home at about 10:40 p.m.”3</p> <p>According to her parents, Jason and Dawn Bell, Andie was “supposed to pick (them) up from a dinner party at 12:45 a.m.” When Andie didn’t show up or answer any of their phone calls, they started reaching out to her friends to see if anyone knew of her whereabouts. Jason Bell “called the police to report his daughter missing at 3:00 a.m. Saturday morning.”4 </p> <p>So whatever happened to Andie Bell that night happened between 10:40 p.m. and 12:45 a.m. </p> <p>Here seems like a good place to type up the transcript from my interview with Angela Johnson.</p> <p>  </p> <p>Transcript of interview with Angela Johnson from the Missing Persons Bureau</p> <p> </p> <p>Angela: Hello. </p> <p>Pip: Hi, is this Angela Johnson? </p> <p>Angela: Speaking, yep. Is this Pippa? </p> <p>Pip: Yes, thanks so much for replying to my email. Do you mind if I record this interview for my project? </p> <p>Angela: Yeah, that’s fine. I’m sorry, I’ve only got about ten minutes. So what do you want to know about missing persons?</p> <p>Pip: Well, I was wondering if you could talk me through what happens when someone is reported missing? What’s the process and the first steps taken by the police? </p> <p>Angela: When someone is reported missing, the police will try to get as much detail as possible so they can identify the potential risk to the missing person, and an appropriate police response can be made. They’ll ask for name, age, description, the clothes they were last seen wearing, the circumstances of their disappearance, if going missing is out of character for this person, details of any vehicle involved. Using this information, the police will determine whether this is an at-­risk missing persons case. </p> <p>Pip: And what circumstances would make it an at-­risk case? </p> <p>Angela: If they are vulnerable because of their age or a disability, or if the behavior is out of character, which indicates they could have been exposed to harm. </p> <p>Pip: Um, so, if the missing person is seventeen years old and it is deemed out of character for her to go missing, would that be considered an at-­risk case? </p> <p>Angela: Absolutely, when a minor is involved. </p> <p>Pip: So how would the police respond? </p> <p>Angela: Well, there would be immediate deployment of police officers to the location the person is missing from. The officers will get further information about the missing person, such as details of their friends or partners; any health conditions; financial information, in case they try to withdraw money. Police will also need recent photographs and might take DNA samples, in case they’re needed in subsequent forensic examinations. And, with consent of the homeowners, the location would be searched thoroughly to see if the missing person is concealed or hiding there and to establish whether there are any further evidential leads. </p> <p>Pip: So immediately the police are looking for any clues or suggestions that the missing person has been the victim of a crime? </p> <p>Angela: Absolutely. If the circumstances of the disappearance are suspicious, officers are instructed to document evidence early on, as though they were investigating a murder. Of course, only a very small percentage of missing persons cases turn into homicide cases. </p> <p>Pip: And what happens if nothing significant turns up after the initial home search? </p> <p>Angela: They’ll expand the search to the immediate area. They’ll question friends, neighbors, anyone who might have relevant information. If it is a teenager who’s missing, we can’t assume the reporting parent knows all of their child’s friends and acquaintances. Peers are good points of contact to establish other important leads—­you know, any secret boyfriends, that sort of thing. And a press strategy is usually discussed because appeals for information in the media can be very useful in these situations. </p> <p>Pip: So if it’s a seventeen-­year-­old girl who’s gone missing, the police would contact her friends and boyfriend early on? </p> <p>Angela: Yes, of course. Inquiries will be made, because if the missing person has run away, they are likely to be hiding out with someone close to them. </p> <p>Pip: And at what point in a missing persons case do police assume they are looking for a body? </p> <p>Angela: Well, timewise, it’s not—­ Oh, Pippa, I have to go. Sorry, I’ve been called into my meeting. </p> <p>Pip: Oh, OK, thanks so much for taking the time to talk to me. </p> <p>Angela: And if you have more questions, just shoot me an email and I’ll get to it when I can. </p> <p>Pip: Will do, thanks again. </p> <p>I found these statistics: </p> <p>80% of missing people are found in the first twenty-­four hours. 97% are found in the first week, and 99% of cases are resolved in the first year. </p> <p>That leaves just 1%. 1% of people who disappear are never found. And just 0.25% of all missing persons cases have a fatal outcome.5 So where does this leave Andie Bell? Floating incessantly somewhere between 1% and 0.25%. </p> <p>Even though Andie has never been found and her body never recovered, most people accept that she is dead. And why is that? </p> <p>Sal Singh is why.</p> <p> </p> <p>two</p> <p> </p> <p>Pip’s hands hovered over the keyboard as she strained to listen to the commotion downstairs. A crash, heavy footsteps, skidding claws, and unrestrained boyish giggles. </p> <p>“Josh! Why is the dog wearing my shirt!” Pip’s dad shouted, the sound floating upstairs. </p> <p>Pip snort-­laughed as she clicked to save her capstone project log and closed her laptop. It was never quiet once her dad returned from work. </p> <p>Downstairs, Pip found Josh running from room to room—­kitchen to hallway to living room—­on repeat. Cackling as he went. </p> <p>Close behind was Barney, the golden retriever, wearing her dad’s loudest shirt, the blindingly green patterned one he’d bought during their last trip to Nigeria. The dog skidded elatedly across the polished oak in the hall, excitement whistling through his teeth. </p> <p>Bringing up the rear was Pip’s dad in his gray Hugo Boss three-­piece suit, all six and a half feet of him charging after the dog and the boy, laughing in wild bursts. </p> <p>“Oh my god, I was trying to do homework,” Pip said, restraining a smile as she jumped back to avoid being mowed down. Barney stopped for a moment to headbutt her shin and then scampered off to jump on Victor and Josh as they collapsed together on the sofa. </p> <p>“Hello, pickle,” her dad said, patting the couch beside him. </p> <p>“Hi, Dad. You were so quiet I didn’t even know you were home.” </p> <p>“My Pipsicle, you are too clever to recycle a joke.”</p> <p>She sat down beside them. Josh started excavating his right nostril, and Pip’s dad batted his hand away. “How were your days, then?” her dad asked, setting Josh off on a graphic spiel about the soccer games he’d played earlier. </p> <p>Pip zoned out; she’d already heard it all in the car when she picked Josh up from practice. She’d only been half listening, distracted by the way the replacement coach had stared at her, uncertain, when she’d pointed out which of the nine-­year-­olds was hers and said: “I’m Josh’s sister.” </p> <p>She should have been used to it by now, the lingering looks while people tried to work out the logistics of her family. Victor, the tall Nigerian man, was evidently her stepfather; and Josh, her half brother. But Pip didn’t like those words, those cold technicalities. The people you love weren’t calculated, subtracted, or held at arm’s length across a decimal point. Victor was her dad, who’d raised her since she was four years old, and Josh was her annoying little brother. </p> <p>Her “real” father, the man who lent the Fitz to her name, died in a car accident when she was ten months old. And though Pip nodded and smiled when her mom would ask whether she remembered the way her father hummed while he brushed his teeth or how he’d laughed when Pip’s second spoken word was “poo,” she didn’t remember him. But sometimes remembering isn’t for yourself; sometimes you do it just to make someone else smile. </p> <p>“And how’s the project going, Pip?” Her dad turned to her as he unbuttoned the shirt from the dog. </p> <p>“It’s OK,” she said. “I’m just researching at the moment. I did go to see Ravi Singh this morning, though.”</p> <p>“Oh, and . . . ?” </p> <p>“He was busy, but he said I could go back on Friday.”</p> <p>“I wouldn’t,” Josh said in a cautionary tone.</p> <p>“That’s because you’re a judgmental prepubescent boy who still thinks little people live inside traffic lights.” Pip looked at him. “The Singhs haven’t done anything wrong.”</p> <p>Victor stepped in. “Josh, try to imagine if everyone judged you because of something your sister had done.”</p> <p> </p> <p>1 www.ustn.com/news/2014/04/21/local-­teen-­missing, 4/21/14</p> <p>2 www.fairfieldctnews.com/fairview/crime-­4839, 4/24/14</p> <p>3 www.ustn.com/news/2014/04/22/missing-­schoolgirl-­698834, 4/22/14</p> <p>4 Forbes, Stanley, 2014, “The Real Story of Andie Bell’s Killer,” Fairview Mail, 4/29/14, pp. 1–­4.</p> <p>5 www.missingpersonstats.com</p> </div> </div> </div> </div> </div> </div> <div class="l-popup" id="popup-buy"> <div class="c-popup"> <a href="#" class="c-popup-close js-popup-close is-type-0"> <span class="icon-close"></span> </a> <div class="c-popup__content"> <div class="c-popup__list-container"> <ul class="c-popup__list clearfix"> <li class="c-popup__item"> <div class="c-popup__action"> <a href="http://links.penguinrandomhouse.com/type/affiliate/isbn/9781984896391/siteID/8001/retailerid/9/trackingcode/PRHED5E389ED0" class="c-btn c-popup__cta" rel="nofollow" target="_blank" onclick='utag.link({ "event_type":"affiliate_click", "page_type":"Product Details Page", "affiliate_name": "Powells", "product_author": ["Holly Jackson"], "product_title": ["A Good Girl's Guide to Murder"], "product_isbn": ["9781984896391"], "product_category": ["Juvenile Fiction"], "product_imprint": ["Ember"], "product_division": ["RH Childrens Books"] });'> Powells </a> </div> </li> <li class="c-popup__item"> <div class="c-popup__action"> <a href="http://links.penguinrandomhouse.com/type/affiliate/isbn/9781984896391/siteID/8001/retailerid/4/trackingcode/PRHED5E389ED0" class="c-btn c-popup__cta" rel="nofollow" target="_blank" onclick='utag.link({ "event_type":"affiliate_click", "page_type":"Product Details Page", "affiliate_name": "Walmart", "product_author": ["Holly Jackson"], "product_title": ["A Good Girl's Guide to Murder"], "product_isbn": ["9781984896391"], "product_category": ["Juvenile Fiction"], "product_imprint": ["Ember"], "product_division": ["RH Childrens Books"] });'> Walmart </a> </div> </li> </ul> </div> </div> </div> </div> <script type="text/javascript"> jQuery(document).ready(function(){ if ($(window).width() < 992) { var diff = 75; if ($(window).width() < 768) { diff = 80; } var height = $('.dimensional-book__img--thumbnail').height() - diff; $('.book__topper-mod .book__hgroup .book__hgroup__inner').css('min-height', height); } }); </script> <div class="navbar-top"> <span class="c1"></span> <span class="c2"></span> <span class="c3"></span> <span class="c4"></span> <span class="c5"></span> </div> <div class="page-builder-section section-subscribe pt-0"> <div class="container"> </div> <div class="bg"><img src="https://www.getunderlined.com/wp-content/themes/underlined/assets/images/footer-bg.svg" alt="" class="img-fluid"></div> </div> <div class="footer"> <div class="container"> <div class="row align-items-end justify-content-between"> <div class="col-12 col-md-4 col-lg-4 col-xl-3"> <div class="footer-logo"><a href="https://www.getunderlined.com/"><img src="https://www.getunderlined.com/wp-content/themes/underlined/assets/images/Underlined_PRH_Logo.svg" alt="" class="img-fluid" width="314" height="104"></a></div> </div> <div class="d-none d-lg-block col-lg-4"> <div class="footer-social"> <ul class="clearfix"> <li><a href="http://instagram.com/getunderlined" target="_blank"><span class="icon-is"></span></a></li><li><a href="https://www.facebook.com/GetUnderlined/" target="_blank"><span class="icon-fb"></span></a></li><li><a href="https://www.tiktok.com/@getunderlined?lang=en" target="_blank"><span class="icon-tt"></span></a></li><li><a href="https://twitter.com/getunderlined" target="_blank"><span class="icon-x"></span></a></li><li><a href="https://www.threads.net/@getunderlined" target="_blank"><span class="icon-threads"></span></a></li><li><a href="https://www.youtube.com/channel/UCF1QoHZz4K_ircu0goGnI3g" target="_blank"><span class="icon-yt"></span></a></li> </ul> </div> </div> <div class="col-12 col-md-6 offset-md-2 col-lg-4 col-xl-3 offset-lg-0"> <div class="footer-right"> <div class="footer-credits"> <h4>Underlined</h4> <p>A Penguin Random House Company<br /> <a href="http://www.penguinrandomhouse.com/" target="_blank" rel="noopener">PenguinRandomHouse.com</a></p> </div> <div class="footer-social d-block d-lg-none"> <ul class="clearfix"> <li><a href="http://instagram.com/getunderlined" target="_blank"><span class="icon-is"></span></a></li><li><a href="https://www.facebook.com/GetUnderlined/" target="_blank"><span class="icon-fb"></span></a></li><li><a href="https://www.tiktok.com/@getunderlined?lang=en" target="_blank"><span class="icon-tt"></span></a></li><li><a href="https://twitter.com/getunderlined" target="_blank"><span class="icon-x"></span></a></li><li><a href="https://www.threads.net/@getunderlined" target="_blank"><span class="icon-threads"></span></a></li><li><a href="https://www.youtube.com/channel/UCF1QoHZz4K_ircu0goGnI3g" target="_blank"><span class="icon-yt"></span></a></li> </ul> </div> <div class="footer-menu"> <ul id="menu-footer-menu" class="clearfix"><li id="menu-item-556392" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-556392"><a href="https://www.getunderlined.com/contact-us/">Contact Us</a></li> <li id="menu-item-556390" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-556390"><a href="https://penguinrandomhouse.com/terms">Terms of Use</a></li> <li id="menu-item-556391" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-556391"><a href="https://www.penguinrandomhouse.com/privacy/">Privacy Policy</a></li> <li id="menu-item-556393" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-556393"><a href="https://www.penguinrandomhouse.com/affiliate-program-disclosure/">Affiliate Program Disclosure</a></li> <li id="menu-item-648414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-648414"><a target="_blank" rel="noopener" href="https://www.penguinrandomhouse.com/privacy/#additional-information-regarding-california">CA Privacy Policy</a></li> <li id="menu-item-648415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-648415"><a target="_blank" rel="noopener" href="https://www.penguinrandomhouse.com/privacy/right-to-opt-out-of-sale-form/">Do Not Sell My Personal Info</a></li> <li id="menu-item-648884" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-648884"><a href="https://www.getunderlined.com/article/underlined-influencer-faq/">Underlined Influencer FAQ</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="footer-copyright"> <div class="container"> <p>Copyright 漏 2024 Penguin Random House LLC. All Rights Reserved</p> </div> </div> </div><!-- /.wrapper --> <a href="javascript:void(0)" class="btt"><span class="icon-up"></span></a> <div class="modal fade modal-login" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="loginLabel" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-body"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true"><span class="icon-close"></span></span><span class="sr-only">Close</span></button> <div class="modal-form login-form"> [wppb-login] </div> </div> </div> </div> </div> <a rel="nofollow" style="display:none" href="https://www.getunderlined.com/?blackhole=b69fde65bd" title="Do NOT follow this link or you will be banned from the site!">Underlined</a> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/bootstrap/js/bootstrap.min.js?ver=6.2.2' id='bootstrap-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/slick/slick.min.js?ver=6.2.2' id='slick-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/jquery.matchHeight-min.js?ver=6.2.2' id='jquery.matchHeight-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/selectric/jquery.selectric.min.js?ver=6.2.2' id='seletric-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/fancybox/jquery.fancybox.min.js?ver=6.2.2' id='fancybox-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/jquery.dcd.doubletaptogo.min.js?ver=6.2.2' id='doubletaptogo-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/infinite-scroll.pkgd.min.js?ver=6.2.2' id='infinite-scroll-js'></script> <script type='text/javascript' src='//cdn.quilljs.com/1.3.6/quill.min.js?ver=6.2.2' id='quill-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/dropzone/min/dropzone.min.js?ver=6.2.2' id='dropzone-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/jquery.sticky-kit.min.js?ver=6.2.2' id='sticky-kit-js'></script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/vendor/validation/jquery.validate.min.js?ver=6.2.2' id='jquery.validate-js'></script> <script type='text/javascript' id='functions-js-extra'> /* <![CDATA[ */ var ajax_obj = {"ajax_url":"https:\/\/www.getunderlined.com\/wp-admin\/admin-ajax.php"}; /* ]]> */ </script> <script type='text/javascript' src='https://www.getunderlined.com/wp-content/themes/underlined/assets/js/functions.js?ver=2.1.472' id='functions-js'></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-f04512138fa8cdc03cd","applicationID":"433035978","transactionName":"Z1BRY0FUW0JZAEIPDV4aclRHXFpfFwFZCQk=","queueTime":0,"applicationTime":6522,"atts":"SxdSFQlOSEw=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>