inspired, of course, by @Versequential