Ruben's story with Bidsketch is a great example of how a simple small business can grow into something healthy sustainable on a reasonable timeline. He started out simply with very little in the way of expectations, and bootstrapped the business to profitability it on the side of a full-time job and now manages a remote team of four additional people. We talk about the challenges of growing and managing a remote team as an introvert, the process of recovering after he accidentally deleted all of the customer billing data, and much more.
Ruben Gamez: Bidsketch is a web app that helps people create, send, and track client proposals right now. It’s been out about six years, six and half years, something like that. I started it off as…I was working a full-time job, so I started that off working nights and weekends.
After we launched, I did that for about a year and a half. At that point, it could replace my salary. Then I quit the job, and then over the next few years experimented with working with everybody as contractors and then went to full-time employees. Now, the team is about three web developers, one customer success person, and myself. Then contractors for writing new design and development stuff.
Garrett: Nice. Right on. When you got started, were you setting out to create a full-time business escape plan for yourself or was it more of, “I’m going to toy around with this side project.” How did it fit into your life and what was your vision for it when you started?
Ruben: When I started, I was working on another product that was meant for the enterprise. I would be selling to executives, maybe team leaders or managers, and stuff. That was taking a long time, and it was slow, and it was really boring. I remember I had to help a friend create a client proposal.
Looking for something to help him with that I thought, “There has to be something like FreshBooks.” There wasn’t. I said, “This is nuts. There really isn’t?” I did some keyword research and nobody was searching because at that point, I had started reading about marketing and stuff.
I’m, “OK.” This SEO stuff and…nobody was searching for proposal software. I thought, “Oh, maybe people are searching for templates.” They were searching for templates. I said, “OK, I could probably turn some of that into customers.”
That’s how I came up with the idea and the product, initially and that I thought…I remember having a conversation with this friend and telling him, “No, it’s probably not going to be that big.” For some reason, I just felt like it wasn’t going to be a really big thing.
It wouldn’t be big enough to replace my salary. I just told him that I wanted to learn, to experiment, so I could do it again and in a bigger fashion and be able to replace my salary. That was the goal initially.
Even when I had enough revenue to hire the first person, I really rejected that idea. I didn’t want to have to show up at 9:00, do a full day’s worth of work, and then feel like it’s OK to leave. Because if I hire somebody full-time, then my thought was that they’d expect me to be there.
Garrett: Once you got started and it started getting going, you explicitly were working with everybody as contractors rather than starting to hire people. Because I had a lot of similar thoughts, what was your thinking behind that decision? Why did it change, and how is it different now that you’re working with full time people, good ways, bad ways, all that?
Ruben: Initially, it was a pretty natural thing. I couldn’t afford to hire somebody full-time, so it was just part time contract dev to help build it. Mainly every step of the way, I’ve just felt like I wanted to make sure not to create a job for myself, and that idea of having a team, or hiring…
Even when I had enough revenue to hire the first person, I really rejected that idea. I didn’t want to have to show up at 9:00, do a full day’s worth of work, and then feel like it’s OK to leave. Because if I hire somebody full-time, then my thought was that they’d expect me to be there. If I wasn’t, they wouldn’t be motivated and they’d complain about it or something like that.
Garrett: It’s definitely scary.
Ruben: Yeah. The expectations were that’s what I was thinking, and so it was really easy to say, “OK, I’m going to work with people that are just contractors and keep it that way.”
Eventually we grew and grew, and everyone was a contractor and it was just me. That was working OK, but the thing I found with contractors was that it was hard to have this core team that knew everything, that was really invested in developing and growing the product and really excited about stuff.
I felt like I wanted to give that a trial, and I thought about it long enough to realize that I wouldn’t be setting myself up for that type of environment because it’s my company. I could do whatever…
If I end up creating that type of an environment, it’s my fault. I’m the one that did that. The first full-time person was support. I just set the expectations from the beginning like, “I don’t work full day. Sometimes I’m not here. Anyone on the team, this is how we’re going to work together.
“Anyone that joins the team, they don’t need guidance all the time. I’ll show you a bunch of stuff initially, and you’ll be good, but I prefer to work with people that like to work alone, or that are independent and don’t need a bunch of hand holding.”
With that sort of expectation set, it was really easy to make the switch to full-time. I asked a lot of people that had full-time employees and every single one of them said, “Don’t switch. Stay with contractors.” I get it, because you have this responsibility of team building, and so it is a little different in some ways.
I’m not the type of person, or leader, or anything like that, that will be like, “Hey team. Let’s go!” That’s not me. It never has been me, so the way that I’ve dealt with that is that I’ve made sure to hire people that have that sort of energy.
I hire for personalities that can fill the gaps. That’s been super helpful, as well.
Garrett: That’s so huge. I’m learning from you just comparing my time at Sifter, like, “I totally should have thought that way as well,” but it’s easier said than done after the fact.
Ruben: Yeah. It’s easier to look back. It took me a long time to get to that.
Garrett: Is everybody remote?
Ruben: Yeah. Everybody’s remote.
Garrett: Distantly remote or how often do you all get together?
There’s a ton of friction signing up for a trial because we ask for a credit card, but we get more people, once they’re in a trial mode, upgrading from trial to paid, if we slow things down.
Ruben: Once a year we have a company retreat. One person is in Portland. I’m in Portland right now. Another one is in Texas, another one is in Philly, and one is actually from California but living in Thailand right now.
Garrett: How do you handle all that, because there’s paper work out the wazoo, with full-time people in different states. How do you handle all that and not go crazy?
Ruben: Outsource as much as possible, so Zenefits, and Paychex, are what I use for that. Still a pain, but it makes way better. I have book keepers, accountant. I don’t want to be spending all of my time doing that stuff.
Garrett: It can quickly consume it. Especially once you hire people, you have a to switch from a builder mentality to more of a managing a business mentality, and it sucks the fun out of it if that’s not why you got into it in the first place.
Ruben: Yeah. The other thing is just managing. I don’t like being a manager. I can be an OK manager but I’m a really bad manager in some ways actually. Just trying to set everything up so that it’s not dependent on me being a good manager is also something that I try to think about every step of the way.
Garrett: That’s huge, not feeling like, “Well, I can’t do this, so I shouldn’t do this,” instead think about it, “I’m not good at this, so how can I design this such that it looks past my weaknesses and capitalizes on strengths?” That kind of thing.
Ruben: Generally, it’s pretty easy to know how to get around that, but it’s hard to actually execute because basically you just hire people. Someone who is a really good leader, or manager, that has that attention to detail, and doesn’t mind doing that stuff, likes doing that stuff.
Finding people that are great at that is the hard part.
Garrett: Absolutely. Kind of an extension of leadership, or just your personality. One of the things I remember talking to you about in the past was you prefer not to speak at conferences. You don’t go seek out attention and use yourself as the face of the business to market the business, and grow the business for the personality.
A lot of people I’m sure would prefer to do things that way, and feel almost like they have to get out there, and be outspoken, and do things in order to drive traffic in the beginning, because when the company is so small, the founder kind of is the head of marketing, and that’s one of the more natural ways for people to do it.
How has that worked out for you by shunning the spotlight, and what have you done instead so that you don’t have to feel that obligated to do that kind of stuff?
Ruben: With software, it’s a little easier to do that than with info products. If you look at info products, you’ll notice that personality is a really big part of selling those info products, to trust them like, “Who’s this information coming from? Who’s the person that created this? What do they know?” Stuff like that.
For tools, it’s nice that you can focus more on, “Where is this audience? Where are the people that need this tool? How do I show them that this tool can do what they need, and sell that way?” From a very high level, that’s the way that I’ve approached marketing.
The easiest people to get have always been like, “Who has the intent? Who’s is showing this intent?” For us, it’s people that are searching for proposal templates. They have proposals to create, so the intent is really strong there. The pain is really strong, as well, because people hate spending a ton of time creating proposals.
If we can do a good job, like in the very early days when I was doing the work of just showing them that this can help solve their problems, leveraging testimonials and case studies for the trust building part of it, then they’ll buy it. People try it, at least, without surprise.
Garrett: You have a ton of content on your site that is relevant and I assume that that plays into the SEO, and getting a lot of that search intent, and the entry…
Ruben: Yeah. The blog is more useful once we already have them on the email list. The blog is like re-marketing. Every time we send an email saying, “Hey, we have a new blog post,” it’s like reminding them, “Hey, we’re here,” so when they need us, they can think, “I remember those guys. I need them now. Let me sign up and try them.”
We did, a while back, we’ve done several, but jobs to be done interviews, these are interviews where we focus on the story, capturing like, “What happened when you bought the product? What was the first thought you had?”
They walk us through every step of the way. One of the interesting things that came up a lot during those jobs to be done interviews was, in a lot of different ways but the same thing came up over and over, which was they got an email that reminded that we were there. So when they had that need, they signed up, or they got an email way before that point in time.
In some way, shape or form, that story came up, over, and over, and over. I knew that happened. I didn’t know that it happened that much. Super surprising.
Garrett: So much of it is being in front of mind at the right time. They search for you, and can stumble across you through Twitter or whatever. They’re like, “That’s neat,” but then they forget all about it, and then six months later or whatever, they’re like, “What was that…I can’t even remember,” and then they start googling it, and they find something else and just use that.
Ruben: Yeah. Another variation on that story was that people had the need…there’s somebody that sends me emails that does that. Sometimes they would remember our name, sometimes they wouldn’t even remember our name. They remember something, and they search their email, and find us that way.
Garrett: How did you initially get them on that news letter, on that list?
Ruben: We get through our home page, we don’t…most SaaS home pages are pretty typical home pages where you go in there, and you have a trial, see plans and pricing, tour pages, all that stuff. New visitors to our site, when they go to our home page, they don’t have a way to view pricing. They don’t have a way to view a tour page or features.
The only thing they can do is get a sample, so we get their email address. We have always gotten a lot of emails that way. That’s one of the ways that we get a lot of emails. The other way is we provide free proposal templates per industry, web design, and graphic design, SEO marketing, and we get a lot of emails that way, as well.
Garrett: It makes senses. In some ways, there’s a lot of sites that could take that approach where everybody is such a hard sell when you show up like, “Send info out,” and like, “We just met.”
Instead of, “Sign up, sign up,” have that option available, but push something like, “Here’s how we can give you value.” Treat sign up as very secondary so you can build that relationship first, and be there for them when they need it.
Ruben: We even hide it. It’s not even secondary. I’ve tested this in a lot of different ways, making it more of an option, a visible option, but having it be not as easy to find, or just having both options at once, or just having a very direct way to sign up from the home page.
We get more customers slowing things down and showing them why this is valuable. There’s a ton of friction signing up for a trial because we ask for a credit card, but we get more people, once they’re in a trial mode, upgrading from trial to paid, if we slow things down.
Garrett: Because there’s not a single, I didn’t search it, but just skimming it, there’s not a single sign up link on your home page at all. There’s pricing but that’s it.
Ruben: Even pricing is only on the footer. If you get the sample, then we’ll show the top nav. I don’t ask, “You got a sample already?” If you don’t get a sample like this, we go incognito, you don’t have a top nav so you don’t have..,
Garrett: That’s what it is. It’s probably ad blocks too in this for me now. Interesting. Really interesting. There’s a lot for people to learn there. That’s a great idea.
You’re working on a new product. That’s a whole can of worms onto itself. You’ve got companies like Basecamp consolidating because running multiple products is difficult. What’s your plan for that new product and how are you going to save yourself from going crazy by handling it and planning ahead?
Ruben: We’re at the very early stages of building out this new SaaS product. Of course, it’s never going as fast as you want. It’s very similar. I’m thinking of it like as the next product. The current product is Bidsketch. This next product is called DockSketch.
It’s not up yet. We’re just starting to build it but it’s a proposal app. The next product is initially going to be an electronic signature app. Eventually, it will also be a proposal app. It will be an app for all sales documents and then we can replace Bidsketch with that and all Bidsketch visitors will go there to sign up and you get an account. That’s a later thing.
That’s the plan. Because we’re just launching strictly as an electronic signature app, we don’t know if that takes us in this way other crazy direction that we never thought of. That’s always a risk. It’s OK if there’s just a really strong pull to go on a different direction. Then go with that.
The interesting thing is that this electronic signature category is way different than the proposal category, especially when we started Bidsketch. When we started Bidsketch, there were no other proposal apps at the lower end of the market. There was one that I didn’t learn about until it launched but they had launched three weeks before, something like that. I ended up buying them for really cheap because they were having co-founder troubles and gave up.
The electronic signature app has a ton of competition. There’s this big market. The market is way bigger. There are a lot of apps already out there. The nice thing about that is that I know that there are a lot of people already paying money for this type of product. Proposal app, we can say, “Oh, yeah. People are going to pay for this.” That didn’t exist.
Figuring that out is…there’s a lot of risk that goes with that. Just knowing that there a lot of apps that do this, it’s huge. Don’t have to figure that out. Don’t have to figure it out, what sort of things people like, what don’t they like as far as the solutions go because there are a ton of solutions, a ton of people losing these solutions.
Don’t have to think about how big this market is. If it’s too niche of a product…we started Bidsketch as a proposal software just for designers. That was too niche. It took time to learn like, “OK, let’s widen out.” Then widen it to all that stuff.
There are a lot of things that we’re saving here. The bad part, of course, is that it’s super competitive so it’s very noisy. My job now is figuring out a good hook, a good angle, and a good distribution strategy, a good way to find the right audiences. That’s way easier than having to figure out all the other stuff that we figure out before.
Garrett: Would the plan then be to just support Bidsketch indefinitely like Basecamp is planning until the end of time?
Garrett: As long as these other people are happy using it, then it will be there for them. You just may not be updating it as much once you shift more focus over somewhere down the road.
Garrett: Theoretically. Assuming the plan holds up and you don’t flip the switch.
Ruben: Who knows? Who knows what’s going to happen but that is the plan. I could be more sure of that plan if the approach was a lot more similar to Basecamp and that is the same brand or whatever but this is going to be different brand and company. We’ll see.
Garrett: What’s the motivation to start a new app as opposed to building off of the core of Bidsketch?
Ruben: Two things. First, I want to experiment with freemium. I did it before with Bidsketch and that did not go well at all. I think almost every proposal app should…most of them have tried freemium help and killed it pretty soon. It doesn’t work for anybody. In this category, signature category, it has worked. There are a couple that are doing it. One of them that’s known that’s doing it.
I’m excited about just experimenting or learning about this strategy. It’s kind of weird too because I thought we said the next product that I do would be…One of the bigger lessons supposedly that I learned from Bidsketch was that it’s tough selling to customers that pay $30 a month. It’s easier to grow when customers are paying a hundred dollars a month or $200 a month.
I always said pretty early on, “OK, I get this,” because whenever I increase prices, we were averaging $10 a month at first. Then we went to $20 a month and then $30 a month.
Garrett: You triple your revenue.
Ruben: The best thing for growth. So easy to do that too for growth. Anyway, that was the ceiling, 30 bucks a month. I tested more than that but we just make more money when we charge that much. We said, “Next thing is going to be minimum a hundred bucks a month.” The direction that I’m moving in, at least with this new product we’re doing, is freemium.
Initially, it’s going to be lower than $30 a month. I’m doing it because I want to, because I’m just excited about it, about learning how to do this right, maybe hopefully, this time around. It’s more of a thing about volume than pricing at a higher price point, having less customers. I have learned that I’m pretty good at getting volume. I’ll try to double down on that.
Garrett: Interesting. It sounds scary. I can’t imagine going to a product that has lower prices…it seems like I’ve taught myself that thing, too. You can’t make a good healthy margin on lower prices. I’d be interested to see how it goes for you.
Ruben: Couple of things that are encouraging on that front. You’re right. It feels risky, especially after all everything that I’ve learnt. One thing is that it’s a separate company and brand. Doing it separately, for me, takes a lot of the risk away from that because if we were doing that with Bidsketch, that’s way too big of a…to change what we have now, no, we couldn’t do that.
That helps with it. Then one other thing that I saw Sean Ellis Qualaroo, he sold that. When he first got Qualaroo, which was KISSInsights, I think Hiten Shah from Crazy Egg and Kissmetrics and Neil Patel, they had KISSInsights as well. They were charging $49 a month for that.
Shah and Ellis bought it and he went with…I think they were doing freemium but he really went in the freemium direction and just gave away a ton of stuff. I briefly talked to him about it when he was doing. He said, “Yeah. I think if we just gave away more on the free product and just really push in and get a ton of volume, this thing will grow.”
He really hit it hard for…it was not that long of a period. What really interesting to me was that he did that and he really tried hard in that direction for about three months or so and then he just got to a point where he said, “It’s not going to work on this product,” and immediately switched and raised the pricing to more enterprise, starting at $99 and $250 and $500 and whatever. Just flipped it and shut off…no free plan. None of that stuff, and started growing really fast.
We learned from that, just watching him do that. We take really big swings but we on until you find the signal what seems to be working. It’s not permanent. We’ll try freemium and if it doesn’t work, then it doesn’t work.
Garrett: Just a little bit of work to undo it then try something else. That’s a good attitude to have. A lot of times, it’s…I know even with Sifter, I felt too scared to change things, rock the boat because you change things and it’s painful, not just the work but the fall out. It’s hard work but it doesn’t mean it’s not worth it. It’s just scary to try it.
Ruben: Once you have something that’s been around for a while, it gets harder and hard to change things because you’re risking more so the time to really aggressive test some changes, I feel like, are risky.
Garrett: That’s a really good perspective. We’re getting close to the end here. I want to ask a couple of questions. One is, if you could go back to day one on Bidsketch and do one thing differently, it can be a big thing, a little thing, it could be doing something sooner rather than later, what would that one thing be that you feel like could really have changed the trajectory of things for you?
Ruben: [sighs] I would have to say, that would be two things. Not specific tactics, or whatever. Two ways I wish my mindset was different. First, in the early days when I started, because there was a ton of work to get it out there. Then launch it. Do a ton of work. Email a bunch of folks. Trying to get featured. Just try to get traffic.
Just work from work to get…this thing was, getting a launch, and trying to build up momentum. Letting people know, “Hey, we’re out there.” Like, sign up. Getting started, then finally getting momentum in trafficking and featuring blogs. Then it was like, “Oh, it’s working. OK.” Then, this blog feature, the next one.
Especially back then, design blogs were all kind of related. You see one featuring, the next one does it. Then I remembered, “OK, cool. This is working.” It’s growing, and all that. What I wish I would have done was, instead of just letting up at that point, actually say, this is working. Now I need to push even harder.
Garrett: When you say, “Letting up,” do you mean stopping the outreach? Just thinking, this is going to be a self-sustaining cycle now, and I can focus elsewhere? Or did you totally let up, and relaxed too much?
Ruben: I didn’t completely stop doing things, but when something’s not working, or you’re trying to gain momentum, you’re operating at…you’re moving faster. You’re doing more. You’re…right? Once this starts to work, you’ll get to this point where you’re like, oh. I can go back to what is normal…
Garrett: You’re comfortable.
Ruben: whatever that means. Yeah. What I learned later on, it took a while, the momentum you get in those early days is huge. It gives you this baseline that pretty much lasts throughout the whole lifetime of the product. You can change it later, but it takes a ton of work. It’s just so hard. The easiest point is really in the beginning.
When you’re seeing something work, and something is gaining traction and getting covered, whatever, the best thing to do is to leverage that. Because that by itself makes it easier to get more traffic and more customers. You can really push on that harder, and build a baseline that’s at a different level, than if you just stopped.
Garrett: That’s a really good point.
Ruben: That would be one thing. The other thing is, improving the product faster.
Garrett: Anything specific, or just in general? Just spending more time improving it, and make features? Or usability, onboarding?
Ruben: Specifically, we plateaued…several times we’ve plateaued it, when we were around 10,000 a month, and around 20,000 a month. Around 30,000 a month, and got past each of those plateaus, but I never addressed the fundamental issue, the reason why we were plateauing. I didn’t increase price anymore. You know what? The churn was higher than it should be.
Garrett: You were increasing revenue without improving the product?
Ruben: I’m getting past those points, but fundamentally there’s a problem there. There’s a reason why we keep hitting those plateaus. In the early days we plateaued maybe a five, six, at a 1,000 a month. In the early days, just trying to get to where I can work on it full-time, it’s fine. Work around it, and do whatever it is you need to do to be able to go full-time on it.
After I hit that period later on, I should have paused at some point, and “OK, Let’s take care of these fundamental issues. Now, you get like 30, 40, 50,000 higher a month, it’s harder. It’s harder than just fix stuff that is…
Garrett: Constantly it gets harder, and harder, and harder. That’s a great thing too for people to realize, because everybody hits those plateaus in the end. You get stuck there, and it’s about finding a way through the plateaus. Sometimes you do, sometimes you don’t. Sometimes it’s quick, sometimes it takes a while.
When you’re at a plateau like that, it can really start to zap your momentum and your moral. To think like, “I’m failing. What am I doing wrong? Is this is as good as it gets?” There’s always something you can do, but you never know which dial to turn or what to focus on.
Ruben: Yeah. I’ve seen a lot of apps that have plateaued. It’s really interesting. I’ve seen a lot of apps that are like proposal apps that are plateaued. It’s given the same exact space, serving the same customers, because they’ve asked me to buy them.
I know the space. I know the apps. It’s really interesting looking at them, at that point, “OK, Where do you get your traffic? What does that look like? What’s your churn? Asking all these questions. Then saying, “Oh, OK. I know exactly why you plateaued. I know exactly what to do to break it, because we got past that long ago. I know what your problem is.”But they have no idea what the problem is. They’re stuck there, and they’re working on the wrong things.
It happens all the time. Trying to improve the product. Trying to increase conversion, or something like that. It’s like, “Your conversion numbers are actually a little bit better than ours. You just need more traffic.”
Garrett: For developers, that’s the last thing. People are like, “Oh, whatever. You just make a product, and it sells itself. Right? If you build it, they will come.” Everybody I’ve talked to, it’s all, you’ve got to spend a good portion of your time marketing. Whatever marketing is to you.
That doesn’t mean paid ads necessarily, but marketing is growing traffic. Getting more attention. Getting more people to be aware of your product. It’s one of the most hated tasks, that’s so important, that everybody tries to avoid, it sounds like.
Ruben: It’s huge. Yeah. There are a lot of people I’ve talked to, that have 2,000 or 5,000 visitors a month, or something like that. They’re trying to get to a point where…it’s impossible. With the numbers you have you’ll never get…that’s not enough. You can’t increase conversions enough, and reduce churn enough, to get you…you can’t optimize your growth to get to where you want, from that point.
Garrett: Yeah. Absolutely. We’re kind of getting long. We’ve got one last, really important question. What is the worst day, moment, could be a week, of running Bidsketch through all of this? What happened, and how did you make it through?
Ruben: There are a couple.
Garrett: Just one. Just one.
Ruben: Probably the worst I felt was early on, it gone growing, the product. I was finally able to get to $1,000 a month in recurring revenue. It was the first big milestone, three or four months into it, or something like that. It might have been three months into it. I deleted all of the billing data for all the customers.
Garrett: Oh, man. So, the credit card…? Like the payment information, or just all the billing history?
Ruben: They were unauthorized accounts. I deleted all of their profiles and authorized data.
Garrett: So you had to have everybody re-authorize?
Garrett: And plenty probably didn’t.
Ruben: Yeah. But it was way more than I thought would. I thought like, [sighs] …
Garrett: You thought you were done?
Ruben: Done. This is…
Garrett: That’s a pretty big mistake.
Ruben: Yeah. Yeah.
Garrett: That’s ultimately where I’m trying to go with this. We’ve all made that mistake where you’re like…You make the mistake, and the first 30 seconds you’re like, “Well, this is it. It was nice while it lasted. My business is over.” Yet, that never actually happens, right? It’s like, you think your business is dead, but really you’ve just got punched in the face.
You can recover. One of the most important things for people to realize is, have your moment. Panic for 10 seconds. Then get back to work, and fix it. You’ll be fine.
Ruben: Yeah. These types of SaaS businesses are surprisingly resilient.
Garrett: Yeah. That’s so true.
Ruben: I messed up a ton of stuff. A ton of stuff. We’re still here. Most of the competitors we’ve had that gone out of business, they took themselves out of business.
Garrett: Yeah. Absolutely.
Ruben: We just lasted longer than they did.
Garrett: That’s just business in general. It’s easy to give up. To get burned out. To have founder conflicts. Businesses shoot themselves in the foot more often than they get knocked out of business by a competitor.
Ruben: Yeah. Lose interest, or in-fighting. Whatever. It happens all the time.
Garrett: All right. This has been a really awesome interview. Thanks so much for taking the time. So many gems in here, I’m really excited about this one.
Garrett: Any parting words of wisdom, or do you think we’ve got it all covered?
Ruben: I’ve got nothing.
Garrett: You’ve got plenty. You just already said it. All right. Thanks again. I’ll have this up here in the near future.
Ruben: All right, man. Thanks.