Alabaster feedback

As Alabaster is in large part an experiment with the underlying conversation system, I would very much welcome feedback about how the system behaves so that I can refine it for future use.

As background: how much the system prompts the player is already an adjustable feature (up to turning off quip prompts entirely, for a standard unprompted ASK/TELL experience). Likewise, it will be possible in the final version of the library, though not demonstrated here, to use a numeric menu to offer the player options.

So what I’m particularly interested in at the moment is how to improve the player experience when the game is using the same library settings as Alabaster. Some things that have come up already:

A common misapprehension seems to be that it’s necessary to retype an entire quip name verbatim, whereas in fact the game parses quip names in the same way that it parses object names: the first few words of the quip, or any unique word, will do. The system does not, perhaps, do a good enough job of teaching new players this fact, especially when the tutorial mode is turned off; so perhaps there should be a mechanism to notice if the player is typing in very long commands and mention (once) that these can be shortened. (Also, perhaps, to point out that the whole ASK INTERLOCUTOR ABOUT structure can be shortened to A.)

I’ve also had a request for tolerance of spare question marks (which some players find themselves typing even after an indirect question such as ASK ABOUT WHETHER SHE IS COLD).

Another point is that Alabaster doesn’t give good feedback when the input is

>SNOW WHITE, [valid quip name here]

In general, I’m not sure I want to encourage players to approach things that way because it encourages them to think there’s actual natural language processing happening — which there isn’t. But there could be better error messages in response.

Anyway, comments are welcome; it would also be useful to have transcripts that demonstrate interaction with the game, since these would provide also some idea of how often commands are failing, and what kinds of commands. If you have one you’d like to send in, I’d appreciate it: emshort@mindspring.com.

37 thoughts on “Alabaster feedback”

  1. Likewise, it will be possible in the final version of the library, though not demonstrated here, to use a numeric menu to offer the player options.

    That might be useful in disambig cycles, which it seems to me aren’t always as precise as you want, but I’d be against it for conversation entries.

    The reason is that, with me, it feels more like you’ve contributed to the conversation when you need to do a bit of work to type something out. In other words, I feel that typing in to the parser is “game-play,” and you won’t make game-play smoother by menuizing it.

    Imagine a point-and-shoot where the bad guys have numbered labels – press [1] to kill this enemy. Gameplay is meant to be a little frustrating; it sharpens the attention of the player.

    My opinion.

    Conrad.

    1. As it happens, I agree with you — but not all authors do, and I’d like to make the system flexible enough to accommodate that alternative preference. (That is, while I’m not setting out to frustrate anyone exactly, I do find I myself prefer typing in at least a few words of the response in preference to picking a number.)

      1. I misread you as saying that you’d update Alabaster to work this way. In the extension, it makes sense.

        It’s happened a couple of times that I haven’t been able to load your blog. A friend of mine has mentioned it, too. Is it possible you’ve been maxing out your traffic quota?

        I’ll check in less often.

        C.

      2. I don’t think I’m maxing anything out — WordPress is pretty solid, and my traffic lately has been a lot less than it’s been when I’ve been posting comp reviews, or the time my comments on Portal got linked from Kotaku.

        I do have more images on the page at the moment, which I guess might make a difference, but I have no evidence this is happening.

  2. I really enjoyed playing Alabaster. I’ve played through to a fair few of the endings (not something I often do with even short works of IF; I have a habit of treating the first ending I get as canonical).

    I think it’s the most successful conversation-based work I’ve ever played. I’m afraid I found Galatea a slightly frustrating experience at the time, whereas this felt far more natural. As a character, Snow is certainly interesting and multi-faceted. I was expecting at least some degree of incongruity, with so many people having contributed to the project, but it all seemed to hang together beautifully.

    As for the conversation system itself, I would have liked to try the game with no prompting for quips at all (as you mentioned will be an option with the extension). Even aside from the few occasions when they gave too much away, I felt I was being prompted more than I would like. To me, it feels like reading “You could go east, go north or pick up the apple” in a less conversation-oriented game.

    Perhaps it would have been too confusing to play without prompts at all, but to me part of the fun of IF is the feeling that it is up to me what to type (even though that’s mostly an illusion). Prompting removes some of that feeling of agency.

  3. While I don’t think that Alabaster works perfectly as a game (I got the impression that I have to try out all the suggested topics in order to learn everything I should know, which makes for a slightly “administrative” gameplay), I think the conversation system is the best I’ve seen so far.

    There’s one thing that I do not agree with in your post above, though:

    >SNOW WHITE, [valid quip name here]

    In general, I’m not sure I want to encourage players to approach things that way because it encourages them to think there’s actual natural language processing happening — which there isn’t. But there could be better error messages in response.

    I know where you’re coming from, but for a novice player, what’s the difference between typing (assuming that’s a valid quip):

    ASK SNOW WHITE HOW SHE KNOWS ABOUT THE MAGIC MIRROR

    and

    SNOW WHITE, HOW DO YOU KNOW ABOUT THE MAGIC MIRROR?

    Why does the first not imply natural language parsing and the second one does? I don’t think the second format encourages this assumption any more or less (we would have to account for different ways to refer to quips in their direct and indirect form, of course, i.e. “how she knows” vs. “how do you know” etc). I, as a player, either get that I have to phrase my replies along the suggested lines or I don’t – what’s keeping me from typing

    ASK HER ABOUT THE FAMILY SHE GREW UP WITH
    (when that’s not implemented)

    when the game has just been able to deal with another equally “natural” quip perfectly?

    1. (I got the impression that I have to try out all the suggested topics in order to learn everything I should know, which makes for a slightly “administrative” gameplay)

      Hm. I tried to push against that by giving the player something to do other than talk (cut out the heart, get on the way to the safe haven or else go home), and there are various topics that are opened up only via actions. But that approach may still not work as a design.

      Re. the language processing — I could be wrong, I suppose; it’s mostly a gut feeling I have that if you let the player address the NPC directly, it will start to feel like a chatbot, whereas if the player is addressing the parser, it feels like a game (with a different set of associated expectations).

      1. Don’t get me wrong – Alabaster is an immense technical achievement, and I like the writing and the general idea.

        I just think that the action/conversation ratio isn’t ideal; but then, that’s just me.

        I really admire the work that went into this, and I believe that the conversation system is amazing. Personally, I’d cut the topics list – the player should have enough to go on from the introductory texts – and keep the quip suggestions (the ones relevant to the current topic or closely related topics that have come up in conversation).

        All in all, thanks for your work.

  4. One thing I wanted when I was playing was something for when there is only one topic suggested, to simply accept the suggestion – a command meaning “yes, ask that”. The most natural way to try and express this is to type “yes”:

    You could ask about the monkeys.
    >yes

    But it would probably be a bad idea to make this work given that “yes” usually means to actually say yes. So maybe “ask that” or “ask it”?

    However. This doesn’t add much if typing the first word will always work anyway. I was another player who was sometimes uncertain about how much I had to type. I think I understood to some extent that the whole thing wasn’t always necessary, but I have a vague idea that I got put off trying to type small amounts for some reason. Annoyingly I don’t have a transcript to see if I can find any example.

    Experimenting a bit just now I can get this case:

    You can ask if she is a witch or ask whether she will keep the pact.

    > a whether
    What would you like to discuss: if she is a witch or whether she will keep the pact?

    > a whether she
    What would you like to discuss: if she is a witch or whether she will keep the pact?

    Which I suppose is because “if” and “whether” are being treated as synonyms, which is a good thing in general, but kind of confusing here.

    Possibly another reason I tended to type whole topics was if there are lot of topics, and you’re a reasonably fast typist, it’s probably less effort just to type the whole thing than to read over all the topics trying to make sure you are going to type something unambiguous. So typing a lot doesn’t necessarily indicate a problem, unless the problem is that there are too many topics at a time. But it’s fun having lots of topics to pick from at least some of the time.

    1. One thing I wanted when I was playing was something for when there is only one topic suggested, to simply accept the suggestion – a command meaning “yes, ask that”. The most natural way to try and express this is to type “yes”:

      You could ask about the monkeys.
      >yes

      Under those circumstances, it should work just to type ASK, in fact.

      Which I suppose is because “if” and “whether” are being treated as synonyms, which is a good thing in general, but kind of confusing here.

      Yeah, that was actually a feature much demanded by the beta-testers. :) I’m thinking it might be worth adding numbered disambiguation, even if the quips are not normally numbered in prompts.

      1. Isn’t there already a numbered disambiguation extention? Since these quips are themselves objects (IIRC), won’t it work unchanged?

      2. There is, but because my system overrides some of the disambiguation rules for its own purposes, it would need some further tweaking to work with the extension. (I tried this earlier to see whether it would be an instant patch, and the answer was no.)

  5. as an I.F outsider (the audience i assume you would want to reach) i tried alabaster and found the excessive typing very offputting. in fact i gave up as a result, but i read a comment somewhere that you could just type enough words to disambiguate your response, this gave me the impetus to try again (i’ve now seen five or six endings). i *strongly* support menu-izing the multiple choices (at least giving that option).

  6. Thinking about Alabaster again after reading the comments: there are two approaches here, one in which people are basically collaborative with the game in telling a story, and one in which the game presents enjoyable frustrations and delays before yielding its actual story. (Both camps might oppose menu-izing and reduced typing, but for different reasons).

    Something one I would like to ask of IF people, to know what they thought: Say you play a game like this twice, and, in the first run-through, finish the game with an understanding of what’s going on that the second play-through sharply contradicts. To what extent is your first play-through now the story of a fool? Or do you continue to stand by it, saying ‘in that story Snow-White was a werewolf; in this one she is a baker’s daughter; there is no contradiction’?

    1. I can’t speak for the rest of the community, but I would expect that actually to vary by the game. In Galatea it is definitely possible to have the experience you describe; in Alabaster all the versions of the story should line up with one standard reality once you understand them fully. (In some playthroughs the protagonist may end up misunderstanding the situation, but in a way that’s consistent with some underlying truth.)

  7. I’d be happy to provide transcripts, but I only can think of two distractions in the conversation.

    I might have missed something in the text, but I think Alabaster sometimes introduces new topics for discussion as suggestions, while I’d expect the suggestions to recap topics that were already clearly offered up in the conversation. I also keep typing “change the subject” instead of “change the topic” or maybe it’s the other way around.

    Whether you consider Alabaster as story-telling via conversation or as a game, either at the basic level of trying to figure out the secrets and get a good ending or the “meta” level of trying to map all of the possible endings, it seems most of the world model is just backdrop for the conversation. So, I’m curious if you think Inform is really the best platform for this, or if it would be interesting to pursue something more purpose-made for conversation trees?

    1. So, I’m curious if you think Inform is really the best platform for this, or if it would be interesting to pursue something more purpose-made for conversation trees?

      Like what?

      I mean, in fact I do think IF can do things that are not primarily centered on rooms and containment models, and there’s no reason that Inform shouldn’t be used for these things, so that’s one side of the argument; but the other is that I don’t actually know of a better platform. There are chatbots, certainly, but they’re not designed for creating a sustained conversation with narrative content.

      1. Inform clearly works well, but it seems like it is primarily designed for modelling a physical world. Note that my view of this is heavily influenced by my(essentially unpublished) experience using it, which hasn’t been heavy on human interaction.

        I’m not suggesting anything that I believe currently exists. I’m suggesting that if one starts with a clean slate and plans how to construct a system for telling stories like Alabaster, one might come up with a something very different than Inform.

        I don’t really known what it would look like, but I do have a few thoughts. I understand your concerns about natural language, but I’m not sure that standard Adventurese imperative feels correct either. There might be opportunities to do slightly more advanced parsing without going too far towards a artificial intelligence.

        I also think that conversational disambiguation might ideally be different than normal disambiguation. “Spoilery” new topics could be in scope but always left out of disambiguation questions. Recency of mention (both by the game and by the player) could inform automatic disambigation choices.

        I’m not really advocating that someone go out and do all of this, of course, but raising it as a topic of discussion.

      2. Well, to some extent, Alabaster (or rather, the conversation system it uses) is an attempt to add these capabilities to Inform.

        “Spoilery” new topics could be in scope but always left out of disambiguation questions. Recency of mention (both by the game and by the player) could inform automatic disambigation choices.

        The Alabaster system already does some of this — it has a way of tagging which conversation topics are most likely to arise next based on the state of the conversation and uses this information to disambiguate, for instance. It still needs some refinement, but that’s the direction it’s going.

        I understand your concerns about natural language, but I’m not sure that standard Adventurese imperative feels correct either.

        This is a bit trickier to address. One commenter suggests a “non-strict” parsing that would match against quip keywords and would simply discard any spare words in the player’s command. I am not sure that I agree that this would produce a superior behavior, though.

        Is that the kind of thing you have in mind? What would your ideal input look like for a conversational game?

      3. I’m not trying to suggest that Inform is a bad choice, but that
        exploring without any reference to existing tools might yield new
        ways of doing things even with these tools. It’s not really the
        technology I’m questioning as much as the adventure game idioms.

        The short answer is that, since I haven’t been thinking about this
        for long, I’m not sure what I’d like a conversation to look like.
        I’d like it to feel comfortable to someone who’s not familiar with
        existing interactive fiction.

        Ask/tell syntax is one way to constrain the conversation away from
        natural language, and the syntax suggests something to experienced
        IF players but not necessarily to a naive audience. If the entire
        interaction is conversation, then the extra typing seems like
        busy-work, so what if a game eliminated that part of the syntax
        and just told the player to type only a topic of conversation?

        If the rules of conversation are explicit, the it’s easier to try
        out new constraints. The basic example is keywords, which have
        been done already in more basic ask/tell parsing, in your work Glass,
        and The Space Under the Window (but I’m thinking about interacting
        with the conversation rather than with the text).

        Perhaps the player could only ask questions. This might work for
        some sort of interrogation or court room setting.

        As an aside, I don’t think “non-strict” parsing helps. It’s better
        to get a clear message that the parser doesn’t understand than risk
        the player believing that it’s smarter than it really is.

      4. Have you tried the conversation system in Blue Lacuna? It essentially is purely keyword-based — something I’m not sure I’d like in all cases but that I think works with the rest of BL’s interface.

      5. I’ve only looked at Blue Lacuna briefly, but I expect to spend some time on it soon.

        I like that it has a unique feeling to the interaction, and the keyword conversation meshes well with other actions. Playing has the feeling of interacting with the text or the story rather than the parser, so that when I was offered the choice of story or puzzle mode, I hadn’t realized that there were puzzles.

  8. Emily, if I remember, you mentioned the next I7 build is supposed to have this conversation system. Would you have an approximate date for that? I’d love to get my hands on it and test it.

    So that I’m not too off-topic, let me say that Alabaster is a bit long for me (my fault entirely, too.) It’s too hard to resist the temptation to be spoiled, particularly with there being so many endings. It’s a lovely game, gorgeously done, but I cannot resist the temptation to look up the spoilers :)

    1. Sorry, I’m pretty sure I didn’t say that the next I7 build would have it. There are various refinements suggested by the feedback from Alabaster, and it also needs to be tested by being used in some other kinds of games.

      I also haven’t given up the hope of doing some improved visualization tools for authoring. The conversation graph for Alabaster was useful, but it became so big as to be unwieldy.

      1. The comment system ate what I previously wrote, so let me restate it:

        Sorry, yes, I probably misread what you wrote in an earlier post. In any case, the story source is proving to be very interesting, as regards the conversation system.

  9. Hi! I love the game, its story is incredibly intricate and many of the endings are extremely evocative (and sad, and haunting–I suppose I’m silly for yearning so much for a happy one! :P).

    Just a couple of issues I encountered–when trying to change the mirror, I couldn’t make the game let me return to the palace without snow (free of L.), and ended up resorting to the walkthrough to find out how. The issue was, I hadn’t yet asked snow where the haven was, but assumed that my character should know how to return to the palace, even without me typing ‘south’. If I try to free snow, the game prompts me what I would do afterward; when I reply return to the palace, it tells me I shouldn’t do that with snow with me, although I had just expressed my intent to free her.

    Interestingly, I recreated the situation just now to give you the partial script, and it seems that “free snow” fails to work (what I originally tried) while “untie snow” for some reason succeeds (although the game still asks me again whether I want to free her, when I had just tried to):

    > free snow
    And then go to the palace, or to her safe haven?

    > palace
    If you go on from here, it should be to Snow White’s haven.

    It would be dangerous to return to the castle while Snow White is still with you.

    > untie snow
    And then go to the palace, or to her safe haven?

    > palace
    If you are really going to leave, you will have to decide: do you set Snow White free? If not, she will have to come back with you, still chained, to face the Queen again. >> yes
    You take off the chain, and it vanishes as soon as it is removed. No ordinary silver, that.

    also, when answering the riddle I was frustrated because the verb ‘guess’ fails to register unless you are guessing correctly:

    Tempting to refuse to guess.

    > guess vampire
    That’s not a verb I recognize.

    > guess apple
    “Do you mean an apple? If so, you have the wrong sort of woods – the trees here are pine and aspen.”

    I also encountered an issue where when asking snow if she is a vampire when the game judges I don’t have enough evidence, my character just talks about the cold; probably because this is some evidence I was supposed to gather on the way to the question but didn’t, but even so it’s frustrating:

    > a whether she is a vampire
    You shiver. “The night grows colder, and I with it,” you say. “Is this true for you also?”

    “I am no colder than you,” she replies indifferently.

    And as far as being able to respond ‘yes’ or some sort from suggestions from the parser… I’d like to be able to just name a topic out of those it suggests. Only because the “You could now ask…” prompt is so similar to the “What would you like to discuss:..?” prompt that it seems natural to want to answer the latter in the same way as the former; but that’s not possible:

    > a mirror
    What would you like to discuss: what the Queen sees in the mirror, why she sees the mirror’s reflections as the Queen does, whether the Queen herself made the magic mirror, why she threw a rock at the mirror, who is the fairest of them all, or that you are the king?

    > what the queen sees
    “What does the Queen see, then, when she looks in her mirror?”

    Snow White tilts her head at you, as though trying to divine your intention in asking. “When she looks at her reflection,” she says at last, “her reflection looks like me.”

    You could always ask if the Queen is evil or ask does the Queen fear Snow White.

    > if the queen is evil
    That’s not a verb I recognize.

    Sorry if this is way too long!! Thanks again for the great work

  10. *want to answer the former in the same way as the latter

    I just realized that part of what’s going on in the first one is the game interpreting my ‘palace’ as a directional command, and requiring two of them to let me go back. An ‘are you sure’ type prompt after the first one would probably be useful instead of just a suggestion to go to the haven instead… and the failure of the ‘and then go where’ prompt is the bigger issue I think.

    sorry for my verbosity ^^:

  11. >>Also, perhaps, to point out that the whole ASK >>INTERLOCUTOR ABOUT structure can be shortened to A.

    Yes, that would be a great tip to give early on. I am new to text games (after having played a few circa 1985 then not again until last weekend, after stumbling upon the IF community while looking for something else). Still with only a couple games under my belt, and a little play with Inform 7, I knew I could abbreviate my questions, and did so, but not to the extent of just typing “A”. I’ve managed to get to three endings, each more enlightened than the one before, but not without some irritating typing errors that having to type less might reduce. Then again playing IF on a laptop with a scrunched keyboard doesn’t help, nor having fat fingers. Anyway, I thought the conversation system worked well for newbies and will give it another go with the “A” shortcut in mind.

  12. Finally had some time to sit down with this — lovely work. Doesn’t read like art-by-committee in the least, and I wondered how much editing had to be done to get this whole cloth feel — maybe participants adopted an Emily-esque style. The multiple endings (and the fractured fairy tale subject) gave it a (unusually well written) choose-your-own-adventure story resonance. One possible improvement would be a more prosaic answer to CHANGE THE SUBJECT than “You can think of no valid changes of subject at the moment” when you run out of things to say.

  13. i have about three things i’d like to point out, thought i suspect two of them are simply typos/mistakes in the text. the third one may or may not apply to more general issues about the conversational model.

    1-

    > a whether snow white wishes to be rid of lilith
    “Do you wish to be rid of Lilith, Lilith?”

    Maybe this is a mistake in the text, or maybe there is some kind of automatic replacement for her name based on whether you know if she’s Lilith?

    2-

    > guess heart
    “Do you mean the hart’s heart? If so, we’ve found it.”

    She wrinkles her nose. “No! How distasteful.” Then, a little amused, she adds: “Even I know that hearts are not round.”

    This seems to just be a mistake in the text. Previously, in the riddle, she makes no mention of looking for something that is round, so this just sounds weird.

    3-

    > a eve
    “What do you know of Eve? She died long before you were born. I doubt the stories tell her history fairly.”

    “She had the disposition of a milkmaid and she couldn’t make up her mind whether Adam was like God, or like one of the animals to be petted. She refused to let Adam mention me aloud.”

    This can come up before accusing her of being Lilith. The PC speaks in the way he should if he thinks she’s just a girl, but her response pretty obviously implies that she’s Lilith, even though she hasn’t been accused of it and denies it in other situations before being directly accused.

  14. [Note to potential readers who haven’t played the game: Spoilers Ahead!]

    I played the game for an hour or so a few days ago and experimented enough to reach at a few different endings. While the fascinating mythology of the game world, consistently well-written dialogue and intriguing central character was certainly enough to sustain my interest, I have to agree with earlier comments about the “administrative” feel of dutifully wading through an ever-increasing laundary list of subjects the program insistently prods me to bring up.

    On the other hand, the program also seemed to be crying wolf an awful lot by constantly insisting that I’d better not continue down a certain conversational path lest I valued the PC’s life. I wasn’t going out of my to kill off my character or anything (if that’s even possible), but I did quite intentionally and with some persistance pursue several “if you feel suicidal” topics, without ever feeling that the numerous warnings provided by the conversation system were really justified (my reckless behavior might conceivably have led to worse endings in the long run, but that in and of itself doesn’t seem to warrant warning labels along the lines of “note to player: this is getting really dangerous”).

    Also, I felt that the conversation system was occasionally one step ahead of me. Most importantly, it basically gave away the Lilith/Snow White connection by suggesting a topic which strongly hinted at this possibility at a time when I happened to be focusing my attention on a comparatively tangential aspect of the story. If I had not been interrupted in my ongoing line of inquiry I might have ended up with the proper logical deduction one or two questions later anyway (don’t count on it, though; I’m pretty dim-witted), but it was nonetheless a bit startling to be staring like a deer in the headlights at a quietly telegraphed revelation which as it happens hadn’t yet occured to me.

    (Of course, given that there are many endings left for me to discover in the game – most of them no doubt vastly more illuminating than the ones I did find – this might not ultimately prove to be the most twist to the story, but from my one brief session with the game it sure seemed to rank among the Top 5 at least…)

  15. I haven’t tried much in the way of interactive fiction so don’t have much to compare it too. (Well I was trying out Brass Restoration the other day, but the last interactive text game I tried seriously was Twin Kingdom Valley).

    Found the parser very frustrating. It kept jolting me back to reality with its stupidity, or perhaps I should say lack of options, or having a mental model of what the options were – which I fear was quite the opposite of the desired intent.

    I don’t think having a simple menu system is the solution though. Maybe something in between where you can click on some icons representing abstract concepts and things you know about to put together some kind of meaning. See for example the game “Captain Blood”, and I gather “Siboot” pioneered a system like that too.

    Played through three endings of Alabaster so far and will play more when I can find some time (so will just have to keep hanging with Lilith on the other side of the world in the meantime… :-) )

    What makes me want to keep playing, my favourite feature in this game, is the collaged image thingy on the side. It really adds 1000% to the atmosphere of the game, and makes me want to try ‘just one more quip’ to see how it will react – when I really should be getting back to work or sleep.

    What I don’t look forward to on my next play though is trudging through all the stuff I already talked about in the previous games while I try to spot a new direction to take it in.

    1. FWIW, you can always type SAVE to save the game at important nodes, if you want, so you can come back and try the alternate branch without replaying from the outset.

      If you have transcripts of what you find frustrating, I’d love to see them (typing TRANSCRIPT at any prompt will start a script file).

    2. Ah, Captain Blood, that brings back memories. I was rather young when I played it, and barely understood anything that was going on. I remember wondering what that mysterious alien word ‘ciao’ (presumably pronounced ‘seeyowoh’) meant. But it has stuck in my mind as one of the most bizarre and intriguing gaming experiences of my life.

  16. Just played through this finally the other day, and I have a couple comments:

    I was worried about triggering some sort of reaction by asking about witchcraft, and tried to avoid those lines of conversation. However, a command like > A HER, which previously brought up a disambiguation menu, would now only match to the line of conversation I was trying to avoid and trigger it.

    Also, I wanted to put both things in the box at once. It seems to default to just one.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: