[FIX] prompt wasn't responding properly because it uses callback instead of fn for some reason, so now we pick whichever isn't null