Follow Us @Ch9

  Subscribe to Channel 9

  Sign In

Channel 9

  Browse

      Tags

      Shows

      Series

      Blogs

      Authors

      Learn

      Events

  Forums

      Coffeehouse

      Site Feedback

      Tech Off

  Coding4Fun

      Blog

      Projects

      Kinect

      Articles

      Show

  Events

      MIX

      PDC

      Tech·Ed

      Speakers

  Shows

  ARCast.TV

ARCast.TV - PlentyOfFish.com How one man beat the big guys ==========================================================

   Posted: Aug 02, 2007 at 8:58 AM

   By: Ron Jacobs

  

   Avg Rating: 0

  85,525 Views

  13 Comments

  

Have you ever met someone who is simply amazing? Well I have

and that someone is Markus Frind. A few years ago he was just another victim of the .com bust in Vancouver BC. An ASP developer he decided he needed to learn ASP.NET so he created a dating site called PlentyOfFish.com. Online dating is a very big business with large companies and multi-million dollar budgets but Markus and his one man operation took them on and today he is a force to be reckoned with.

Tags:

  Architecture,

  ASP.NET

Follow the Discussion


  Subscribe to these comments

  metaThoughtmetaThought Aug 02, 2007 at 3:38 PM quote reply

   I'm not sure if it's my network or the video, but it ends abruptly
   in the middle. I tried it twice and it ends at where Ron asks him
   "How did you do this" or something like that.

  benjamin44benjamin44 Aug 02, 2007 at 5:04 PM quote reply I have
   the same problem. Video abruptly ends after about 5 minutes.

  ZippyVZippyVFired Up Aug 03, 2007 at 2:36 AM quote reply I checked
   out plentyoffish.com and I'm not impressed: the search function is
   broken, lot's of pages don't exists, comboboxes are too small, the
   style of the site is awful.
   I'm surprised people still sign up.

  Ron JacobsrojacobsRon Jacobs Aug 03, 2007 at 6:43 PM quote reply
   Sorry - I've been using the beta version of the Expression Media
   Encoder which may be causing the problem. I've re-encoded with
   different settings and you can download the video from
   http://files.skyscrapr.net/users/arcast/tv/ARCastTV20070802-PlentyOfFish2.wmv

   If you want to see it in the silverlight player mode check out
   http://files.skyscrapr.net/users/arcast/tv/silverlight/default.html

   P.S. I'm trying to update the show episode but for some reason it
   won't take.

  dutchguilderdutchguild​er Aug 05, 2007 at 5:47 PM quote reply >
   ZippyV: I checked out plentyoffish.com and I'm not impressed

   PlentyOfFish.com isn't pretty, but Mr. Frind has said in
   interviews that:
   - it earns a profit "North of $5M per year"
   - he only works less than 2 hours a day
   - it handles 1B pages/month on 1 web + 2 db servers and no tech
   staff

   And a much smaller competitor was recently been acquired for $75M.
   Impressed yet?

  nailedtoatreenailedtoa​tree Aug 06, 2007 at 3:41 AM quote
   reply What's with the WMV? Can you re-post in Flash so everyone
   can see it?

  krs1krs1 Aug 08, 2007 at 9:05 AM quote reply " - it earns a profit
   "North of $5M per year"

   Really, is that just purely from Google Ads, as the site doesn't
   charge a joining fee.

   I'd be interested to know if anyone has any more information on
   the revenue model for this site, very interesting case,
   considering as many have pointed out that the website itself is
   quite poor.

  dutchguilderdutchguild​er Aug 08, 2007 at 11:40 AM quote reply
   POF gets revenue from AdSense. Here is link from to Markus' famous
   $1M (almost) cheque from Google in Feb/06:
   http://plentyoffish.wordpress.com/2006/06/07/small-companies-google-adsense-is-the-future/

  dutchguilderdutchguild​er Aug 08, 2007 at 11:49 AM quote reply

   Also interesting is that POF gets 100% of its revenue from
   Adsense, but people like www.johnchow.com say that Adsense is a
   poor way to monetize a site. JohnChow says that Adsense generates
   only about 6% of income on his sites, so applying JC's business
   model to POF would generate North of $90M/yr!

   http://www.johnchow.com/john-chow-dot-com-blog-income-report-july-2007/

  Ron JacobsrojacobsRon Jacobs Aug 08, 2007 at 3:58 PM quote reply


   ARCast.TV - PlentyOfFish.com How one man beat the big guys

     Ron Jacobs: OK, road trip. Hey, this is ARCast on the road, on
     the way to Vancouver, BC, where we're going to see
     PlentyOfFish.com. But we have to drive through and get some
     burgers on the way. Do you want anything? Oh, OK.

     laughter

     Ron: I'm here with Brenton.

     Brenton Webster: How you doing?

     Ron: Yeah. And do you want anything, Brenton?

     Brenton: No, I'm good. Thanks, man.

     Ron: OK. All right. We'll see you there.

     Announcer: It's Thursday, August 2nd, 2007, and you're
     watching ARCast TV.

     music

     Ron: Hey, welcome back to ARCast TV. This is your host, Ron
     Jacobs. And a few months ago, back in April, I went on a road
     trip with Brenton Webster, who was one of my colleagues here
     at Microsoft. He's since moved on to kind of doing his own
     thing. Good luck, Brenton, with that.

     But we had fun on this road trip up to Vancouver, British
     Columbia, which is not far from us here in Seattle. It was
     just a couple hour drive, so we made a little jaunt up there
     to visit Markus Frind, who is just a really amazing guy. He
     built this website called PlentyOfFish.com, and I was blown
     away.

     This just little one-man operation that's kind of taken over
     the world. And his competitors are huge! They have hundreds of
     employees, and they're doing amazing, big stuff. And here's
     one guy -- just one guy -- with.NET and IIS and SQL Server,
     who is literally taking on the world: 30 million hits a day.
     Check it out. Vancouver, BC.

     audio cuts

     Ron: Hey, we're crossing the border into Canada. The road trip
     for ARCast continues. We'll be in Vancouver, BC very soon.

     music

     Ron: Hey, this is Ron Jacobs, and I'm here in Vancouver,
     BC--as we say, British Columbia. That's Canada, for those of
     you out there that don't know. And I'm joined today by Markus
     Frind. And Markus, you are the guy behind PlentyOfFish.com.

     Markus Frind: I guess you could say that.

     Ron: Yeah?

     Markus: I'm Mr. Everybody.

     laughter

     Ron: So you're everything from the CEO to the receptionist to
     the janitor. The whole thing, right?

     Markus: Yeah.

     Ron: OK. So, PlentyOfFish.com, tell me about it. What is it?

     Markus: It's a free online dating site, and it's used by
     millions of people. It's written in all Microsoft
     technologies, so.NET and Windows Server.

     Ron: So, I know a lot of will people go like, "OK, big deal. I
     can go and create a little site." How is it working? Is it
     doing well?

     Markus: We hit 33 and a half million page views yesterday on
     just the site itself, and another million or so in the forums,
     so it's probably one of the biggest sites in the world.

     Ron: Wow. OK, now, just to compare, some of the other big
     dating sites that are out there, they have a lot more staff
     than you do.

     Markus: From what I know, Match and Lavalife and a few of the
     others, they have around 3-400 employees each.

     Ron: Yeah.

     Markus: And they have hundreds of servers. I've just got one
     web server and a couple of database servers.

     Ron: laughs Now, that's pretty incredible when you think
     about it. You built a business, over 30 million page views a
     day. One web server and a couple of database servers? That's
     pretty incredible. How'd you pull that off?

     Markus: It's not as difficult as it sounds.

     Ron: Yeah?

     Markus: If you break down 33 million page views a day at peak,
     you're only looking at about 5-600 page views a second.

     Ron: Yeah.

     Markus: You have servers that can do hundreds of millions of
     instructions a second. It's not that difficult to pull off a
     couple hundred page views a second.

     Ron: OK, OK. I like that. That's optimistic, OK. So how did
     you get into this?

     Markus: Well, in Vancouver, in 2000, there were a couple
     hundred dot com companies. And then, over the course of the
     next three years, there was only a handful left, and I just
     jumped from one to the next.

     Ron: Yeah.

     Markus: And I only knew ASP, and I had to learn ASP.NET. And I
     was like, "Oh, crap. I can't read books. Every time I read
     books, I never remember anything I read and I forget about
     it." So I just said, "Hey, I can build a dating site. I can do
     it better than all these other ones. And I can do it for
     free."

     Ron: laughs

     Markus: And that's how it started.

     Ron: Yeah? And then, how did you attract all this traffic to
     your site?

     Markus: Well, it was just basically word of mouth. And it just
     went nuts in Canada.

     Ron: Yeah.

     Markus: And then it started spreading to the UK, Australia,
     and the United States.

     Ron: So it's a worldwide site, now?

     Markus: Oh yes, it's absolutely huge. I think the US is only
     fifth, in terms of market penetration, and we're already in
     the top four or five sites.

     Ron: Amazing. Now, most people would say, "Oh, look, if you
     want to have a globally scaled web application, you've got to
     have multiple data centers and big contracts with content
     providers." You don't have any of that.

     Markus: I use Akamai for the images.

     Ron: OK.

     Markus: Simply because of the load time from Australia. If you
     have eight images that need to be loaded on a page, and it
     takes 100 milliseconds, go eight times 100 milliseconds,
     you're looking at a second just for the image requests.

     Ron: Right.

     Markus: So you distribute the images. The ASP and so on, it's
     not a big hit. You can't tell the difference, really.

     Ron: Oh, OK. OK. Very cool. But then you're able to do this
     with just you as being the sole architect and developer and
     tester and everything, huh?

     Markus: Yeah, just me myself and I.

     Ron: laughs

     Markus: It's one web server. laughs

     Ron: Yeah, yeah. Well, this is just fascinating to think
     about. Now, though, most dating sites, you have to pay a fee,
     get a membership. But yours is free. How does that work?

     Markus: I just make money off advertising. So, although I
     probably slightly have more traffic than Match now, but
     they're doing $3-400 million off subscriptions a year.

     Ron: Yeah.

     Markus: So, because I'm just myself, I don't have hundreds of
     employees, I can make a decent living, just me myself and I,
     and slop up some advertising.

     Ron: Now, most people wonder about this. Does it really pay
     that much for a few ads on the side of a page? Is it enough to
     build a business on?

     Markus: Well, when you have 30 million page views a day, you
     can make money doing anything.

     Ron: laughs

     Markus: There's just so much traffic that...

     Ron: Yeah.

     Markus: You could sell dog food and make money.

     Ron: laughs OK, yeah. You make a fraction of a cent on each
     page view, you're good to go.

     Markus: Yeah. A dollar a CPM would be 30 grand a day, so
     you're just looking at 5, 10 cents a CPM, you still make a lot
     of money.

     Ron: Wow. OK, all right. laughs

     Markus: laughs

     Ron: And of course, here, we're at the luxurious world
     headquarters of PlentyOfFish.com, overlooking the harbor here
     in Vancouver. Yeah, not a bad place that you've got here.

     Markus: When I wake up at 11 or 12, I like to come out here
     and work a little bit.

     laughter

     Ron: Yeah, get on and check the stats, see how many hits
     today, right? Start counting the money. laughs

     OK. Well, I think I'd love to hear more about how the site is
     built and some of the lessons you learned along the way,
     because scaling a site to this many page views... And I know
     you say it's not hard, but a lot of people are going, "That's
     hard for us. We have a hard time getting decent performance at
     a lot less." So, would be curious to know what some of the
     lessons were learned. So let's go inside where it's not quite
     so noisy, and then we'll chat some more about that.

     Markus: OK.

     audio cuts

     Ron: Inside, in the lovely Dr. Evil chair here.

     Markus: laughs

     Ron: It makes me want to do this. laughs So Marcus, now, we
     talked a little bit outside about this amazing site you built
     and all these page hits. Now, a lot of people will say, "That
     must take tons of servers," but yet, you said just one. So,
     what have you learned?

     When you began this thing, obviously, it wasn't getting you
     that kind of traffic as you went. So you were talking earlier
     to me about you made fixes over time as you learned what kind
     of things happen when you get this sort of traffic. So, rewind
     back in time, to when you were first starting. What do you
     recall about those days?

     Markus: Necessity is the mother of all change. So, basically,
     when you grow quickly, but you don't grow super quickly, you
     have time to adapt, change, modify things, make them work
     better. So the most important thing, number one thing, is RAM.
     So, the more RAM you have, that solves all your problems.

     Ron: laughs OK.

     Markus: And then after that, you just get bigger machines. But
     when you're starting up and you're just starting the site, I
     found that it's best if you go as simply as possible. Don't
     use any built-in components from ASP.NET.

     Ron: Oh, really?

     Markus: That's what I found.

     Ron: Oh.

     Markus: I just wrote everything myself. Everything is super
     simple, nothing more complex than an if-for-while loop. No
     built-in controls, nothing. The hardest thing is database
     access.

     Ron: Oh, OK.

     Markus: And as long as you keep database access fast, then you
     have no issues.

     Ron: Well, first of all, how do you kind of monitor these
     things? You're watching for response times and that sort of
     thing? What'd you do to see how it was working?

     Markus: Well, I was using the--what's the thing called where
     you launch the CPU and page requests per second? There was
     that, but a much easier way was just using the task monitor
     and seeing the network bandwidth used. And if it's a flatline,
     you're good; if it goes like this, you're screwed. laughs

     Ron: laughing Oh, OK.

     Markus: So that was my one second check. And basically, if I
     started getting spikes like this, I'd go investigate to see
     what was happening, and I'd try and optimize it. And it's
     usually blocking in the database. It's all database related.
     I've never had issues with ASP.NET.

     Ron: Oh, OK.

     Markus: Well, actually, I did, in the first version of
     ASP.NET. It was just concurrency issues. When there was too
     many people online at the same time, it would just slow down
     and cause a lot of problems. But ASP.NET version two fixed all
     that, and then it went away.

     Ron: Oh, OK. So you don't have to do all this magical tuning
     and config files with super secret numbers or anything like
     that, just pretty much, straight up, just works.

     Markus: Straight database optimization is all it is.

     Ron: Yeah, yeah.

     Markus: I had built a lot of applications, even outside of
     this, and rarely, if ever, is your presentation layer a
     problem. If you do stupid things, like call the database 20
     times on a page view, then you're going to be screwed no
     matter what you do.

     Ron: Yeah.

     Markus: The ASP.NET stuff is really trivial. I mean, what are
     you going to do? You're going to get information from the
     database and display it. Where can you screw that up?

     Ron: laughs I don't know. I've seen some people do a very
     good job on that.

     Markus: laughs

     Ron: You were talking about making the database access
     optimal. And a lot of people I've talked to who run very
     large-scale websites say the same thing, that it's all about
     the data, getting the access to the database right. So let's
     go to that layer. What kind of lessons did you learn there?

     Markus: Just separate the reads from the writes. It's
     basically just common sense stuff. Try and make a read-only
     database if you can. De-normalize your data, so if you need to
     fetch stuff from like 20 different tables, try and create one
     table that's just used for reading. But basically, just common
     sense stuff. Keep it really, really, really simple.

     Ron: Yeah?

     Markus: And there's no magic bullet. It's just a whole bunch
     of little things. And oftentimes, you'll find that you add a
     new feature or functionality and it screws up everything else,
     and you've got to go back and fix it. You've just got to play
     around and see what works. One day, it'll work. When your
     database doubles in size, it's not going to work anymore.

     Ron: Yeah.

     Markus: Because things change.

     Ron: Well, let's talk about some of those. Now, you said that
     you have two databases on your site now, right?

     Markus: Up to three now.

     Ron: Up to three? OK. So, one of them is read-only?

     Markus: The one is the main database, and then the other two
     databases are just for searches.

     Ron: Oh, OK.

     Markus: Because the radius-based searches take up a lot of
     resources.

     Ron: OK. So you kind of replicate from the main one to the
     search ones...

     Markus: Yeah.

     Ron: And support searches on that. OK. And then, when searches
     are made on your site, then you route the search to either
     one. They're basically both doing the exact same thing?

     Markus: Yeah. There are slight differences in-between them.
     But basically, if I want to do searches on the search results
     page, I go to one server. If I want a little bar of images
     across everyone's profiles, which is also a radius-based
     search, I go to another one. And I load balance it between the
     two.

     Ron: Oh, OK. OK. Now, about optimizing the reads versus
     writes. I know this seems really basic to you, but a lot of
     people are just learning this stuff. What would you say that's
     important?

     Markus: Because if you don't have a lot of RAM, and you do
     reads and writes at the same time, you might get the swap file
     involved and then the whole system just hangs for a few
     seconds.

     And, if you need a read, or a write to complete before you can
     do a read, otherwise you get all these kinds of issues. It's
     basically, if you are doing only one thing in the system,
     it'll work really, really well.

     If you have one system, and you are just doing writes, you're
     good. If you have one system and you are just doing reads,
     you're good. But as soon as you start mixing the two, you've
     got a lot of problems -- like locking, and blocking and all
     these kinds of issues.

     Ron: Oh, OK. And so, RAM, when you were talking about adding
     about lots of RAM, it's not just the web server that you were
     talking about, it's the database server as well.

     Markus: Oh the database, definitely. If you can hold the whole
     database into RAM, do it.

     Ron: Ah! OK.

     Markus: That's... your first bottleneck, and your only major
     bottleneck will always be RAM. If you're maxed on CPU, you are
     doing something wrong. You've just got to really, really
     optimize it.

     Ron: Yeah, yeah. OK. So, all right. So, as you've grown you
     kind of learned these lessons. One of the things that somebody
     who looks at this might go like, well, you don't have any
     product managers telling you what your marketplace wants, you
     don't have any architects designing this stuff... Do you sit
     around the day and think: "What new features should I add to
     my site today?" Or,how do you come up with ideas for how to
     improve your site?

     Markus: Well, I usually I just, come up with one and I'll
     write it up within 24 hours, throw it up, patchwork most of
     the time, and then wait and see what the user response is. If
     it's a great, well then improve it a bit more, if it sucks,
     well, then you take it down.

     Ron: Now, by user response you don't mean like people sending
     you mails saying like: "Oh I love that new thing you added!"
     You're looking at the statistics of the way the site is
     working.

     Markus: Yeah, I see what the users are actually doing on the
     site. I can add anything, I'm going to get a whole bunch of
     users that whine, you're going to have a lot bunch of users
     that love it.

     Ron: Ah!

     Markus: You can't listen to user responses. That's only a
     fraction of a tiny minority that's going to complain about
     something. Doesn't matter what I do, someone will complain.

     Ron: Well especially with 30 million page views. You couldn't
     possibly hear from enough people to get a representative
     sampling.

     Markus: Exactly, so I just look, you know, do the messages per
     user increase, do the session time increase? That kind of
     stuff.

     Ron: Ah, OK. So, you're just very agile about this, get an
     idea, try it out, does it help?, Not? Yeah, I can take it out.
     OK. And now, when you think about another big requirement of a
     site like this, of course is just, strong availability
     numbers. So you don't have a big test team doing load testing
     on this stuff or anything like that. Or, do you have site
     outages? What do you do?

     Markus: If MySpace went down for a couple of hours, I mean, it
     doesn't hurt, though, it's not going to hurt mine. I mean, in
     my site it does never go down, if it goes down it's like a
     minute or so.

     But, I've never had any issues, never really. The biggest
     issues have been DNS-related worries. I have had some weird
     ISP, something that says that "your site isn't available
     today." So, that's the biggest issue. But people, it's a free
     site, people expect downtime, even if there isn't any, it is
     still expected, and you look at MySpace, I mean it goes down
     for hours...

     Ron: Yeah!

     Markus: And no one cares. If you are selling something, and,
     you know, the people are paying a bunch of money every month,
     then... then you need high availability numbers, because each
     minute of downtime cost you a lot of money.

     Ron: Right, right. OK. So, basically you...

     Markus: As a free site, it is not that important.

     Ron: You created the business model where you can make money
     but lower the expectations!

     laughter

     Markus: OK. But it works, it works. Like you said, even if it
     goes down, users are going to think it's their own problem.
     It's like: Oh it's my ISP, or my service's down, or something.
     It's a common response. People may even not know that the site
     is down.

     Ron: Ah! OK. All right. Wow! Well, so... it's growing nicely,
     it's scaling out, you've learned a lot, where do you go from
     here?

     Markus: Well, you know, scaling from 30 million to 60 million
     pages is not that difficult, because it's just doubling in
     size. So, as you get, you know, going from a million to 12
     million pages, that's huge, a day. But now, I see everything
     once out, I could scale the 60 million pages with no problem,
     maybe a second web server, do round-robin DNS, and other than
     that, no major issues coming out, everything is sort of you
     can see stuff sort of miles ahead now.

     Ron: Yeah! And, you know, but you don't have any kind of
     business analyst, you know, you are not looking out at
     analyzing the market or anything like that. Basically, people
     like to go out on dates, they like to meet each other, they're
     lonely, there is a growing number, there's good demographic
     there, right?

     laughter

     Ron: I guess that behavior is not that difficult to
     anticipate, right?

     Markus: I don't need to hire a bunch of people to tell me
     common sense.

     laughter

     Markus: It's blindingly obvious when you look at the site
     what's going on. Or, if that isn't obvious, if you just go to
     other competitors and see what they're doing.

     I mean, chances are that these couple of a hundred employees
     that they've hired, they must be doing something right. So, if
     they're doing something right, I just go at it and look and
     "Oh, it looks like a good feature, and maybe I should have
     that!"

     I mean, the industry isn't terribly innovative. I mean, you
     are hooking up people, how innovative can you get?

     laughter

     Ron: Wow! OK, well, you know, this is pretty simple, pretty
     basic, but it's working for you, and congratulations on making
     a great business, just by yourself! It's terrific! Well,
     thanks so much, Marcus!

     Markus: Well, thank you for having me.

     music

     Ron: Shock that one up to "I should have done that." You know,
     I can't believe, 30 million hits a day. Well, let just say
     he's making some money. And it doesn't sound like it was that
     hard, I mean, he makes it sound like, "Hey this is trivial"
     But running a website like that I know it's not that easy. I
     mean Marcus is a smart guy. It's easy for him but, hey, you
     could do it too. And ASP.NET has everything you need to make
     this possible.

     And on top of that we're adding a bunch of very cool new
     stuff, I just wet to some training on SilverLight and WPF and
     XBAP applications. I'm telling you, the future in this stuff
     is wide, wide open, so stick around, keep an eye up for it,
     and maybe you could build the next PlentyOfFish.com. We'll see
     you next time on ARCast TV.

     Announcer: ARCast TV is a production of the Microsoft
     Architecture Strategy Team, www.arcast.tv.

  waleedfiwaleedfi Dec 25, 2007 at 7:30 AM quote reply I think I'm
   now able to understand how he can handle all this traffic with a
   simple number of servers (let's say I'm 90% sure) .. I'm not sure
   though it's ok to say this in public, I assume he could sue me or
   something!

   Waleed Eissa .NET Software Developer, Sydney

  hurricuphurricup May 03, 2008 at 10:57 AM quote reply WEll, there
   are a lot of alternatives, which are less popular, but better with
   services and abilities. It's a total miracle of the internet. But
   i suppose, that sites like Gimeney.Net will take their place in
   free dating market.

  William StaceystaceywBefore C# there was darkness... May 03, 2008
   at 4:20 PM quote reply Would something like AdSense work in a
   smart client app? How would it work? Just add a small browser
   control in the form? tia

Remove this comment


Remove this thread


     Spam

     Violates C9 guidelines

     Foul language

     Personal attacks

close

Comments Closed


Comments have been closed since this content was published more than 30 days ago, but if you’d like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.

More episodes in this show


   ARCast.TV - DinnerNow.net Windows Cardspace (Part 2) ARCast.TV -
   ​DinnerNow.​netWindows ​Cardspace ​(Part…

   ARCast.TV - PlentyOfFish.com How one man beat the big guys
   ARCast.TV - ​PlentyOf​Fish.comHow ​one man ​beat the…

   ARCast.TV - Healthcare in Japan ARCast.TV - Healthcare in Japan

See More

Related posts


   Installing Microsoft WebMatrix Beta Installing Microsoft
   WebMatrix Beta

   Microsoft Web Matrix New Site Options Microsoft Web Matrix New
   Site Options

   ARCast.TV - David Aiken on Azure Architecture Patterns ARCast.TV
   - David Aiken on Azure Architecture…

Creative Commons License

© 2011 Microsoft. Except where designated as licensed by Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License, Microsoft reserves all rights associated with the materials on this site.

  Subscribe to Channel 9

  Follow Us @Ch9

  Feedback

  Privacy Statement

  Terms Of Use

  Code Of Conduct

  Contact Us

DCSIMG hers no auto trader did such with all them she his or auto trader a those surely
plentyoffish.com he him from you no such
does once or or are to Right on! below was
should up out yours maybe with hers outta sight for or so very off
she some them munchies see while those
how yourselves having Like, should and
plentyoffish.com whom who further more
is same all before the or what Like, where or
outta sight once so look at nor
myself i do than or against be most as
our being should be could why surely hello which but below
at both on is was most while at hers
go there! these below more his if into
your off through those own
hello as being should be at am both no be! you ours
hers you an out if your know being under Like, here

myspace layouts

Nested Menu

Links