diff --git a/src/vn/books.html b/src/vn/books.html
new file mode 100644
index 0000000..82570a1
--- /dev/null
+++ b/src/vn/books.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/vn/img/angry0.png b/src/vn/img/angry0.png
new file mode 100644
index 0000000..52b84f0
Binary files /dev/null and b/src/vn/img/angry0.png differ
diff --git a/src/vn/img/angry1.png b/src/vn/img/angry1.png
new file mode 100644
index 0000000..744c88b
Binary files /dev/null and b/src/vn/img/angry1.png differ
diff --git a/src/vn/img/angry2.png b/src/vn/img/angry2.png
new file mode 100644
index 0000000..01a0512
Binary files /dev/null and b/src/vn/img/angry2.png differ
diff --git a/src/vn/img/angry3.png b/src/vn/img/angry3.png
new file mode 100644
index 0000000..7044ba5
Binary files /dev/null and b/src/vn/img/angry3.png differ
diff --git a/src/vn/img/apologetic.png b/src/vn/img/apologetic.png
new file mode 100644
index 0000000..21cfa6d
Binary files /dev/null and b/src/vn/img/apologetic.png differ
diff --git a/src/vn/img/asleep.png b/src/vn/img/asleep.png
new file mode 100644
index 0000000..e21ba02
Binary files /dev/null and b/src/vn/img/asleep.png differ
diff --git a/src/vn/img/blast.png b/src/vn/img/blast.png
new file mode 100644
index 0000000..de6184a
Binary files /dev/null and b/src/vn/img/blast.png differ
diff --git a/src/vn/img/books-colour.png b/src/vn/img/books-colour.png
new file mode 100644
index 0000000..931c6da
Binary files /dev/null and b/src/vn/img/books-colour.png differ
diff --git a/src/vn/img/books-messy.png b/src/vn/img/books-messy.png
new file mode 100644
index 0000000..b83f64f
Binary files /dev/null and b/src/vn/img/books-messy.png differ
diff --git a/src/vn/img/books-size.png b/src/vn/img/books-size.png
new file mode 100644
index 0000000..d7d05e8
Binary files /dev/null and b/src/vn/img/books-size.png differ
diff --git a/src/vn/img/bookworm.png b/src/vn/img/bookworm.png
new file mode 100644
index 0000000..4776568
Binary files /dev/null and b/src/vn/img/bookworm.png differ
diff --git a/src/vn/img/calm.png b/src/vn/img/calm.png
new file mode 100644
index 0000000..b90d4fc
Binary files /dev/null and b/src/vn/img/calm.png differ
diff --git a/src/vn/img/cat.png b/src/vn/img/cat.png
new file mode 100644
index 0000000..d91cbf9
Binary files /dev/null and b/src/vn/img/cat.png differ
diff --git a/src/vn/img/chillin0.png b/src/vn/img/chillin0.png
new file mode 100644
index 0000000..0e6171a
Binary files /dev/null and b/src/vn/img/chillin0.png differ
diff --git a/src/vn/img/chillin1.png b/src/vn/img/chillin1.png
new file mode 100644
index 0000000..b78bff0
Binary files /dev/null and b/src/vn/img/chillin1.png differ
diff --git a/src/vn/img/chillin2.png b/src/vn/img/chillin2.png
new file mode 100644
index 0000000..22d3db1
Binary files /dev/null and b/src/vn/img/chillin2.png differ
diff --git a/src/vn/img/coffee.png b/src/vn/img/coffee.png
new file mode 100644
index 0000000..e1a0851
Binary files /dev/null and b/src/vn/img/coffee.png differ
diff --git a/src/vn/img/confident.png b/src/vn/img/confident.png
new file mode 100644
index 0000000..6804ca9
Binary files /dev/null and b/src/vn/img/confident.png differ
diff --git a/src/vn/img/dance.png b/src/vn/img/dance.png
new file mode 100644
index 0000000..c10730b
Binary files /dev/null and b/src/vn/img/dance.png differ
diff --git a/src/vn/img/derp.png b/src/vn/img/derp.png
new file mode 100644
index 0000000..5d26462
Binary files /dev/null and b/src/vn/img/derp.png differ
diff --git a/src/vn/img/derp.png_ b/src/vn/img/derp.png_
new file mode 100644
index 0000000..ad4e252
Binary files /dev/null and b/src/vn/img/derp.png_ differ
diff --git a/src/vn/img/determined.png b/src/vn/img/determined.png
new file mode 100644
index 0000000..4dca625
Binary files /dev/null and b/src/vn/img/determined.png differ
diff --git a/src/vn/img/did-you-really-just.png b/src/vn/img/did-you-really-just.png
new file mode 100644
index 0000000..da512f2
Binary files /dev/null and b/src/vn/img/did-you-really-just.png differ
diff --git a/src/vn/img/disappoint.png b/src/vn/img/disappoint.png
new file mode 100644
index 0000000..5865a5f
Binary files /dev/null and b/src/vn/img/disappoint.png differ
diff --git a/src/vn/img/dreamer0.png b/src/vn/img/dreamer0.png
new file mode 100644
index 0000000..58008da
Binary files /dev/null and b/src/vn/img/dreamer0.png differ
diff --git a/src/vn/img/excited.png b/src/vn/img/excited.png
new file mode 100644
index 0000000..f9a3e56
Binary files /dev/null and b/src/vn/img/excited.png differ
diff --git a/src/vn/img/fixin-time.png b/src/vn/img/fixin-time.png
new file mode 100644
index 0000000..35694b0
Binary files /dev/null and b/src/vn/img/fixin-time.png differ
diff --git a/src/vn/img/foood.png b/src/vn/img/foood.png
new file mode 100644
index 0000000..33a3398
Binary files /dev/null and b/src/vn/img/foood.png differ
diff --git a/src/vn/img/frog.png b/src/vn/img/frog.png
new file mode 100644
index 0000000..2ec802f
Binary files /dev/null and b/src/vn/img/frog.png differ
diff --git a/src/vn/img/gah.png b/src/vn/img/gah.png
new file mode 100644
index 0000000..74fd5b0
Binary files /dev/null and b/src/vn/img/gah.png differ
diff --git a/src/vn/img/gendo.png b/src/vn/img/gendo.png
new file mode 100644
index 0000000..7b0dd77
Binary files /dev/null and b/src/vn/img/gendo.png differ
diff --git a/src/vn/img/glad-you-asked.png b/src/vn/img/glad-you-asked.png
new file mode 100644
index 0000000..6c35485
Binary files /dev/null and b/src/vn/img/glad-you-asked.png differ
diff --git a/src/vn/img/goofy.png b/src/vn/img/goofy.png
new file mode 100644
index 0000000..7a253f5
Binary files /dev/null and b/src/vn/img/goofy.png differ
diff --git a/src/vn/img/grin.png b/src/vn/img/grin.png
new file mode 100644
index 0000000..d7f7b4a
Binary files /dev/null and b/src/vn/img/grin.png differ
diff --git a/src/vn/img/hii.png b/src/vn/img/hii.png
new file mode 100644
index 0000000..212e46c
Binary files /dev/null and b/src/vn/img/hii.png differ
diff --git a/src/vn/img/hmph.png b/src/vn/img/hmph.png
new file mode 100644
index 0000000..b0fb002
Binary files /dev/null and b/src/vn/img/hmph.png differ
diff --git a/src/vn/img/hopeful.png b/src/vn/img/hopeful.png
new file mode 100644
index 0000000..6156dfa
Binary files /dev/null and b/src/vn/img/hopeful.png differ
diff --git a/src/vn/img/huh.png b/src/vn/img/huh.png
new file mode 100644
index 0000000..4dca625
Binary files /dev/null and b/src/vn/img/huh.png differ
diff --git a/src/vn/img/laugh0.png b/src/vn/img/laugh0.png
new file mode 100644
index 0000000..613cffa
Binary files /dev/null and b/src/vn/img/laugh0.png differ
diff --git a/src/vn/img/laugh1.png b/src/vn/img/laugh1.png
new file mode 100644
index 0000000..5cc7f20
Binary files /dev/null and b/src/vn/img/laugh1.png differ
diff --git a/src/vn/img/laugh2.png b/src/vn/img/laugh2.png
new file mode 100644
index 0000000..c67956e
Binary files /dev/null and b/src/vn/img/laugh2.png differ
diff --git a/src/vn/img/laugh3.png b/src/vn/img/laugh3.png
new file mode 100644
index 0000000..9733fc2
Binary files /dev/null and b/src/vn/img/laugh3.png differ
diff --git a/src/vn/img/nonplussed.png b/src/vn/img/nonplussed.png
new file mode 100644
index 0000000..048d858
Binary files /dev/null and b/src/vn/img/nonplussed.png differ
diff --git a/src/vn/img/noseup.png b/src/vn/img/noseup.png
new file mode 100644
index 0000000..08de67f
Binary files /dev/null and b/src/vn/img/noseup.png differ
diff --git a/src/vn/img/ohno.png b/src/vn/img/ohno.png
new file mode 100644
index 0000000..8d470d6
Binary files /dev/null and b/src/vn/img/ohno.png differ
diff --git a/src/vn/img/oshit.png b/src/vn/img/oshit.png
new file mode 100644
index 0000000..02337d2
Binary files /dev/null and b/src/vn/img/oshit.png differ
diff --git a/src/vn/img/pathetic.png b/src/vn/img/pathetic.png
new file mode 100644
index 0000000..ee36f8b
Binary files /dev/null and b/src/vn/img/pathetic.png differ
diff --git a/src/vn/img/peek-over-table-raised-eyebrow.png b/src/vn/img/peek-over-table-raised-eyebrow.png
new file mode 100644
index 0000000..2ab9794
Binary files /dev/null and b/src/vn/img/peek-over-table-raised-eyebrow.png differ
diff --git a/src/vn/img/peeved.png b/src/vn/img/peeved.png
new file mode 100644
index 0000000..bf8ed39
Binary files /dev/null and b/src/vn/img/peeved.png differ
diff --git a/src/vn/img/pizza.png b/src/vn/img/pizza.png
new file mode 100644
index 0000000..6179aef
Binary files /dev/null and b/src/vn/img/pizza.png differ
diff --git a/src/vn/img/please-sir-can-i-have-some-more.png b/src/vn/img/please-sir-can-i-have-some-more.png
new file mode 100644
index 0000000..da4c433
Binary files /dev/null and b/src/vn/img/please-sir-can-i-have-some-more.png differ
diff --git a/src/vn/img/ponder.png b/src/vn/img/ponder.png
new file mode 100644
index 0000000..792811c
Binary files /dev/null and b/src/vn/img/ponder.png differ
diff --git a/src/vn/img/pose.png b/src/vn/img/pose.png
new file mode 100644
index 0000000..7e9699f
Binary files /dev/null and b/src/vn/img/pose.png differ
diff --git a/src/vn/img/queasy.png b/src/vn/img/queasy.png
new file mode 100644
index 0000000..646dcc8
Binary files /dev/null and b/src/vn/img/queasy.png differ
diff --git a/src/vn/img/scared.png b/src/vn/img/scared.png
new file mode 100644
index 0000000..6290f4f
Binary files /dev/null and b/src/vn/img/scared.png differ
diff --git a/src/vn/img/sleepy.png b/src/vn/img/sleepy.png
new file mode 100644
index 0000000..81acd1a
Binary files /dev/null and b/src/vn/img/sleepy.png differ
diff --git a/src/vn/img/sneaky.png b/src/vn/img/sneaky.png
new file mode 100644
index 0000000..6acc503
Binary files /dev/null and b/src/vn/img/sneaky.png differ
diff --git a/src/vn/img/some-guy-smug.png b/src/vn/img/some-guy-smug.png
new file mode 100644
index 0000000..0b3eb60
Binary files /dev/null and b/src/vn/img/some-guy-smug.png differ
diff --git a/src/vn/img/some-guy.png b/src/vn/img/some-guy.png
new file mode 100644
index 0000000..07aa94c
Binary files /dev/null and b/src/vn/img/some-guy.png differ
diff --git a/src/vn/img/stargazer.png b/src/vn/img/stargazer.png
new file mode 100644
index 0000000..0bb69d9
Binary files /dev/null and b/src/vn/img/stargazer.png differ
diff --git a/src/vn/img/super-chillin.png b/src/vn/img/super-chillin.png
new file mode 100644
index 0000000..2a056d2
Binary files /dev/null and b/src/vn/img/super-chillin.png differ
diff --git a/src/vn/img/surprised0.png b/src/vn/img/surprised0.png
new file mode 100644
index 0000000..4f19cab
Binary files /dev/null and b/src/vn/img/surprised0.png differ
diff --git a/src/vn/img/surprised1.png b/src/vn/img/surprised1.png
new file mode 100644
index 0000000..570e346
Binary files /dev/null and b/src/vn/img/surprised1.png differ
diff --git a/src/vn/img/tantrum.png b/src/vn/img/tantrum.png
new file mode 100644
index 0000000..3241165
Binary files /dev/null and b/src/vn/img/tantrum.png differ
diff --git a/src/vn/img/thats-just-like-your-opinion-man.png b/src/vn/img/thats-just-like-your-opinion-man.png
new file mode 100644
index 0000000..0f6b5bc
Binary files /dev/null and b/src/vn/img/thats-just-like-your-opinion-man.png differ
diff --git a/src/vn/img/uh-what-is-that.png b/src/vn/img/uh-what-is-that.png
new file mode 100644
index 0000000..79ed490
Binary files /dev/null and b/src/vn/img/uh-what-is-that.png differ
diff --git a/src/vn/img/uh.png b/src/vn/img/uh.png
new file mode 100644
index 0000000..520d253
Binary files /dev/null and b/src/vn/img/uh.png differ
diff --git a/src/vn/img/unsure.png b/src/vn/img/unsure.png
new file mode 100644
index 0000000..deaf7cf
Binary files /dev/null and b/src/vn/img/unsure.png differ
diff --git a/src/vn/img/vr.png b/src/vn/img/vr.png
new file mode 100644
index 0000000..72ce844
Binary files /dev/null and b/src/vn/img/vr.png differ
diff --git a/src/vn/img/waow.png b/src/vn/img/waow.png
new file mode 100644
index 0000000..cf8182f
Binary files /dev/null and b/src/vn/img/waow.png differ
diff --git a/src/vn/img/well-you-see.png b/src/vn/img/well-you-see.png
new file mode 100644
index 0000000..b96cbe2
Binary files /dev/null and b/src/vn/img/well-you-see.png differ
diff --git a/src/vn/img/whaaaat.png b/src/vn/img/whaaaat.png
new file mode 100644
index 0000000..f2dfa62
Binary files /dev/null and b/src/vn/img/whaaaat.png differ
diff --git a/src/vn/img/yay.png b/src/vn/img/yay.png
new file mode 100644
index 0000000..71653d1
Binary files /dev/null and b/src/vn/img/yay.png differ
diff --git a/src/vn/img/you-shouldnt-be-doing-that.png b/src/vn/img/you-shouldnt-be-doing-that.png
new file mode 100644
index 0000000..028a493
Binary files /dev/null and b/src/vn/img/you-shouldnt-be-doing-that.png differ
diff --git a/src/vn/main.js b/src/vn/main.js
new file mode 100644
index 0000000..c5d777d
--- /dev/null
+++ b/src/vn/main.js
@@ -0,0 +1,62 @@
+let idx = 0
+
+let frames = [
+ "hello! you're just in time!", "img/yay.png", null,
+ "this was starting to get ridiculous.", "img/you-shouldnt-be-doing-that.png", null,
+ "there are books EVERYWWHERE", "img/scared.png", null,
+ "and more keep coming!", "img/oshit.png", null,
+ "we've got to do something about it before the deadline!", "img/determined.png", null,
+
+ "hey, could you sort the books for me?", "img/books-messy.png", "stack books by size",
+
+ "yes, i can you've finished STACKING them,", "img/books-size.png", null,
+ "but that's hardly FINISHED, is it?", "img/books-size.png", null,
+ "i mean sure, if you want to be a pedant about it they're sort of ordered by size,", "img/nonplussed.png", null,
+ "but they're still just piled up in the same place, what's that supposed to change?", "img/coffee.png", null,
+
+ "why don't you try again?", "img/books-size.png", "push stack over",
+ "", "img/books-messy.png", "order books by colour",
+ "", "img/books-colour.png", null,
+
+ "no, colours won't work either.", "img/dreamer0.png", null,
+ "why?", "img/blast.png", null,
+ "simple, i don't do colours.", "img/grin.png", null,
+ "it's nothing personal, they're just not for me, you know?", "img/glad-you-asked.png", "restart"
+];
+
+
+function setText(text) {
+ document.getElementById('text-box').innerHTML = text;
+}
+
+function setImage(path) {
+ document.getElementById('portrait').src = path;
+}
+
+function setButtonText(text) {
+ console.log(text);
+ if (text == null)
+ {
+ text = "next";
+ }
+
+ document.getElementById('button').innerHTML = text;
+}
+
+function advance() {
+ const stride = 3;
+
+ if (idx >= frames.length) {
+ idx = 0;
+ }
+
+ let text = frames[idx];
+ let img = frames[idx + 1];
+ let buttonText = frames[idx + 2];
+
+ setText(text);
+ setButtonText(buttonText);
+ setImage(img);
+
+ idx += stride;
+}
diff --git a/src/vn/styles.css b/src/vn/styles.css
new file mode 100644
index 0000000..f558139
--- /dev/null
+++ b/src/vn/styles.css
@@ -0,0 +1,20 @@
+img {
+ max-height: 70vh;
+ width: auto;
+}
+
+.centre {
+ margin: auto;
+ padding: 0;
+ width: 50%;
+}
+
+#button {
+ font-size: 2em;
+}
+
+#text-box {
+ width 100%;
+ height: 4em;
+}
+