Establishing Your Technology Reference Model
so welcome everybody um today this is a meeting on uh technology reference model it's a relatively new feature came out last year and we want to talk about how you use it to manage your standards your technology standards uh within your APN program and throughout your organization some of the statements that we'll go through today we're going to talk a little bit about the roadmap for trm and so there will be some forward-looking statements um we can't make guarantees until the day that things release but we are going to give you our best take on things and and understanding here so there will be time for Q a after the presentation I'm going to try to end within about 30 minutes and as as after the session once everything's over if you would we have a little short survey it really helps us with your feedback let us know how we did let us know what you'd like to see on those sort of things my name's Mark Casto I'm a principal product success manager for strategic portfolio management which is the group at servicenow that builds uh application portfolio management I've been in the the APM game if you will for a little over 20 years of probably worked with a lot of you I think I saw a few names I know and I've I've met and worked with quite a few customers over the years different products I've only been in service now about four and a half years but this is where APM belongs believe me this is the place to make it happen so today's objectives is we after our Meetup is that you'll have insights on how to use our technology reference model to establish your technology standards and it kind of starts with where you are what systems do you have what how are you doing it now I find that most companies nowadays do get the fact that you can't just let anything in the world be deployed in your environment that's chaos and and it's hugely risky but there's all kinds of different ways that it happens SharePoint sites Excel other systems uh do the same kind of thing so we're interested in how you're doing it now we're actually going to have a poll in a moment we want you at the end of this understand the process and the tools that we bring and where we're going with those tools because we're not there yet this is just our first iteration and but we want to get you to the point where you could start to manage your technical standards and we hope that we show you how this ties back in to the rest of the activities that you're doing both in application portfolio management but also Asset Management and we have tie-ins that are part of the asset management um it leads to other things such as procurement Etc we'll talk about these things so the agenda is you know what is trm technology reference model how it works uh what to do what if you don't have Sam Crow for those that are somewhat familiar if you're not familiar we'll know how it works with sandpro but if you don't have it what happens and then what's in the future then we'll get to q a so um we have a quick poll here if you will um and it's going to launch the poll if you would we'd like to know um where you are on technology standards just beginning are you using servicenows trm do you have other tools using the home build system let us know how things are how you're doing it now and we'll give us a couple of minutes for this one so everybody has a chance to reply see lots that are beginning this is this is good I hope that we can help you today um for those that are beginning to to get an idea of how powerful this can be and how important it is across the Enterprise give it about another 30 seconds in case somebody else wants to respond again these polls really help us to guide our product guide our our these programs that we put on okay looks like we've got all we're going to get so um sharing the results um most everybody that responded is just beginning um we have one team that's using service Styles trm um a couple they're using other tools and a couple of their have their own home built systems so appreciate you you're showing all of that and sharing with us so let's get on with our our discussion so technology management and APM is a two-pronged approach first and this is not written in stone but this is just a a good practice approach if you have nothing else if you're starting from scratch first thing that you can do even before you establish your business application portfolio if you're new to 8pm you could start to establish your technology reference model and Technology reference model seems it's kind of an obscure name I prefer to think of this as our technology standards specifically right now we we support software now and we'll talk about this more but we will be supporting hardware and something we call patterns we'll get into that later towards the end of the presentation but one of the things you can do as soon as you turn on APN you can start to establish your technology reference model and what you're doing is you're identifying the software Technologies the that are approved for use in your organization and it's not just I.T it's Global what are the technologies that you use for you know everyday desktop type software that's the end user Computing can go in there it type infrastructure databases application servers virus scanning all of these kinds of things fit in there and trm allows you to identify the products identify the version levels specify how you're going to use these we call these usage life cycles look look at that in detail but you identify these things as here's our approved list the next level is your APM product processes in your APN program matures there is a facility within service down we did a webinar a couple of weeks ago on technology portfolio management technology portfolio management is the what is or the as built view what technologies are my business applications actually using then if we have a list of standards and a list of what's being used we can analyze what's being used against the list of standards and identify technical debt it's a lot of work to make it happen but conceptually it's very simple here's our technology standards here's how we intend to use them here in TPM technology portfolio management is what is being used where and we identify who's in compliance who's out of compliance those sort of things so that's our two-pronged approach if you will some technology reference model this is a pictorial view we we have a Gantt chart view because we're using life cycles in this these usage life cycles are different than your vendor life cycles vendor life cycles or or publish your life cycles for software they're going to have events or what or what we call phases of General availability into support end of extended support end of life and that's really declaring the support life cycle for that technology but a usage life cycle is different it's saying allowed for use or approved or maybe approved constraints or approved under restrictions these are the kinds of things we're seeing as you reach the end of life for a particular version for a technology you might have a divest phase during that divest days anything anybody using that technology in divest they want to start making plans to get off of that version upgrade to a new version or move to a new technology and then of course there's unapproved that says it's not approved for usage but that's what we're doing with the life cycles in trm again it's about usage so we do our technology reference model with software products when we go to Hardware we will probably end this again forward looking nothing set in stone Hardware models are already in the system we will have a way that will be equivalent and so we'll need to probably talk about Hardware products and then Hardware models as the versions we're going to sort that out when we get to hardware and then patterns will be a wholly different thing but what we talked about with software if we start with the product just in general is Microsoft SQL server and approved relational database for us in our organization then we start to talk about which versions are actually allowed so it's kind of a two-phase or two pass um thing the solution owners can request new software requests are approved and declined by Enterprise architects now this is a traditional role for the EAS is to to manage this approved list but you might have a different team so don't think that you have to have Enterprise Architects doing this if you have a team that owns technology standards that's that's the team that's we just use Enterprise Architects here as a generic role that does this excuse me so we have the ability to request products we have the ability to requests life cycles for versions and then if you have the Sam Pro Content Library or even if you just have Sam foundations we can tie into that software product and and we don't actually use software models we just use software product so that gives us a reference we also do affect software models we'll talk about that a little more a bit more in a minute so if you have sampro there is interaction that's the key point at this moment so First Steps in trm is establish your software product standards what technologies do you use um if you have a list you can do an import one of the things we'll talk about towards the end of this is that you could also write a quick integration or or a upload to take things that are in maybe your Discovery models and moving it over as a starter for that there's a couple of options for how you might do this one of the other key things is we have categories categories can be in a hierarchy so categories basically give you a way to save what this software product does so that way it's category categorized people confine things within it that's the really the key of it it's uh some people will call these technical capabilities that's the most logical categories to use relational database for your relational databases application servers or j2ee application servers for things like web's field seven key that these standards has been defining what's allowed to be used once you have your products defined you then go in and Define the version so each product as we all know these products they're continually releasing new versions and those versions that's where the light the vendor life cycle support life cycles are so you want to establish your usage life cycles in a way that I term is within the vendor life cycles when you have a vendor life cycle that starts in GA say January 1 2018 and it goes until December 31st 2021 you would want to and it's it's quite often companies will want to give it a couple of months before they release it for use you know let it settle a little bit let those first fixes and patches go out so maybe two or three months later after GA date that's when you start your approved for production and then before that end of support date you want to have a divest phase or a sunset phase whatever you call it it's a phase that says plan your upgrade now because this thing's going into support or maybe you're using end of extended support again it's very flexible but you drive it off the events that are prescribed by the vendor life cycles so you do a year ahead because you want to be able to budget and plan for next year to do these upgrades so a year ahead you have a divest things that start that says everybody get off and do your planning maybe even 18 months so that you can get it into budgets and then at the end of of support that's when you go to an unapproved for production and there will be people that maybe slip through that's where you catch them with our technical debt capability and we're going to look at that in a moment as well so this is talking about how the product and the version life cycle phases work we have a product and in general you indicate how you want to use it this product is approved for example we were using um Microsoft SQL Server so as a product it's approved in fact what I'm seeing is quite a few customers will add a phase that they call preferred so you might have multiple rdbms Technologies available but one will be preferred the rest are just allowed or maybe they're allowed with certain restrictions and you document those restrictions these are all capabilities of what TRN can do underneath the product you then have the life cycles so version one goes into evaluation 2016-2017 at the end of 2017 um in the 20 you know at the end of or January 2 2017 that evaluation ended and it's approved you can use it in production there's a flag on these phases this is really critical to understand when you specify the phases and you cannot you can use your own terms for the phases the way we know if it's production approved or not we have a flag on it so we set up production approved equal to True here starting on January 3rd 22 17 we run it through January 2nd 2021 it's approved for that whole phase so in the in the timeline view in that Gantt view we'll see you know these colored phases and then finally in trm product life cycles we have a divest space starting um January of 22. that means get off of it you should have started planning already getting off of it and then finally we have an unapproved phase that's how these life cycles stack up now a lot will just have a single life cycle and it runs for however long that's valid but a really mature way of managing this is declaring these times when it's yes we it is preferred or it's allowed here's the in the sunset period I can't emphasize the importance of that because that becomes guidance to plan your operators this is how you become proactive instead of reactive the trm portal this is the old view those that are familiar with the new EA workspace there will be new um a new view of the trm life cycles coming out at some point in time probably and you'll manifest of list and again chart type view for what we have right now this just gives you a pictorial view of those life cycles so here I have Oracle under Oracle I have a couple of different products here's Oracle DB server it's approved and and it's categories relational database and then here's how we view the standards 11.2 um no it's not approved at all it's long gone 12.1 Enterprise it's gone past its divestate here in the orange and it's in the unapproved as well same thing with rc1 um 18 not approved we didn't keep it around very long 19c Enterprise that's what we're wanting to use 21c is in evaluation and we don't have approvals on it yet so this is all of the different versions that we had available in a declaration of who can use it how or how we intended to be used in the in in your your various applications interactional TPM so we talked about TPM gives you a view of what is so and and we discussed this in the our last meeting but TPM essentially gives you an alignment it's done at the application service level but it rolls up to the business application for each business application we can understand what technologies are deployed and being used with trm we have a catalog of Standards so what we do is we look at what's being used we compare it to the trm catalog and if you're using something or your business application is using a technology that is either not in the catalog at all or it's not approved for production we create a technical debt record that technical debt record is the foundation for workflows and other processes by which you can begin to remediate the technical debt of using unapproved software one outcome might be oh we missed that in the trm so you just add it to the trm then it's all okay or maybe it is an old version it's not supported maybe it has vulnerability whatever it is it's not allowed then there becomes a remediation that can be take place now we don't build the remediation workflows because everybody's business is different so we leave that to you but that's what servicenow is about the power of the platform the workflow platform build your workflows design your workflows to manage those remediations in the technical data so TPM plus trm let's just kind of take another look at it so Enterprise architecture establishes the technical standards we talk about that as maybe hypothetically that would be your first step then with APM established you begin to align your business applications to their Technologies via TPM TPM is about technology obsolescence we're really focused on that vendor life cycle and that's great that is a wonderful facet again it's part of that two-pronged approach right to managing technology risk so TPM is doing its thing then trm's technical debt engine if you will analyzes TPM record by record says is this you know here you said you're using Oracle DB server uh 16c is it in the standards no it's not in the standards or yes it's in the standards and it's Mark is unapproved and we created a technical debt record and from there the resolution or remediation that is up to the customer you can design flows you can sign notifications all kinds of possibilities exist but what we've done is we've rolled that technical debt up to the highest logical level the business application you could even roll it up to business capability if it made sense to you again it's a facet of technical risk this is the reference model that's here again like all of our our little meetups and workshops we're going to share this deck with you um this just gives you the the data model so you know where the tables are when working with these scenes especially if you want to do a workflow it's really helpful to be able to understand where the tables are and what they do so trm implementation is can be pretty quick um loading the data managing the catalog that's where time starts to you know take a little more time and effort but just turning it on you install APM and it's on it's it's there it's activated it's ready to be configured your first step in configuration is Define your trm categories again categories are usually the technical capability or technical function of the the particular technology the software in this case um but it could be something different it's whatever works for your organization note that the categories are in a hierarchy so you can see that breakdown then once you have the categories you want to define those version phases so out of the box we have evaluation approved approved of constraints divest and unapproved um it's very likely in most cases I find that customers will have other things they might have pilot for the evaluation and then they have um you know approved or preferred to indicate those preferred Technologies then you or you might have approved with restrictions and you identify the restrictions that are required to be able to deploy this then you might have a sunset or divest phase again that's that phase telling people to get off of this technology either by upgrade or by replacement or merge or whatever it takes so the the key Point here is identify your phases and set that product approve or production of proof flag I I'll correct this it says product approved it's production approved flag that's what indicates that this thing's allowed in production when we do that technical data analysis and if you have particular processes already in place the out of the box workflows are very simple they're meant as foundations to build your process as with much APM processes are widely varied and they need to accommodate your organization we design APM to allow you to take those foundational workflows and build upon them they're probably too simple for for Enterprises normal Enterprises build upon them to make them work for you that's what the workflow and the power of the servicenow platform is all about once you have all of these steps covered you're ready to go start populating the trm um populate the the products populate the versions and you're in business so technology portfolio loading your trm so technology standards are something that it's it's not discoverable really it's now you may have a list and you can use that list but here's a method that could be used um if you didn't have anything right because one of the questions I get all the time is how do we load this how do we bootstrap this there's thousands of Technologies one of the ways to do it if you're using um Sam Pro well software Discovery models are part of the Sam Pro normalization process and the software Discovery Model will have the product and the publisher which is all we need to just establish that trm record it also has versions so we can use that to identify the versions so a quick way to bootstrap your your program is evaluate your software Discovery models and say okay here's a here's a product is it in the product nope it's not create the product and by default you just set it to somebody approved or whatever default value you want then you look at the version and you add that particular version and you just work your way through all the discovery models for each product or each software Discovery Model record you look and see if the products already there is the version there if it's not you add a version lifecycle that says approve that sets you up with a what you already have model you can then start to go in and manage it you can remove things you can update things you can use you could add some analysis of the technology life cycles and or support life cycles and go a little further with the um you know in this suggestion I suggest you start three months after GA and your approved phase would be three months after GA and one year before ended support after end of support you create a life cycle for the best then finally at end of support you create a unimproved so that's just a methodology real quick overview of the the flow if you will of how you can bootstrap your trm program for what you already have in your system if you're running Sam grow if you have other systems there's still the same possibilities there's customers using other things for Asset Management that are similar you could extract the same information what do you want to know publisher and product the publisher and product need to be established and serviced now and then for each version underneath that product you create one or more usage life cycles and and that's kind of the short of real quick on what's in the future again Safe Harbor we're working to incorporate it into EA workspace the first elements of it are going to be seen coming up here in August um support for Hardware we're predicting early in 2024 and then support for patterns late in 24-24 or late in 24 early 25. so patterns what are patterns if you're familiar with Enterprise architecture processes and Frameworks togaf is very popular they have this term they call it system building blocks and you think about how we build our applications you may have prescriptive models of this you know if somebody orders a database well they're not just getting the database software on a CD they're going to get one or more servers they're going to get data stories they're going to get a particular version of that that database software they're going to get monitoring service so there's a whole package of things that goes together a pattern if you will so there could be multiple things other kinds of patterns there's popular development and deployment patterns um I'm I'm a little old back in 2000 one of the most popular Stacks or patterns was called a lamp stack it's Linux Apache MySQL and PHP millions of applications were built on that very solid and well-known stack Lance stack is still in existence today people are still using it so that's the idea of patterns and what we'll be able to do is not just have our individual Atomic technology software and Hardware will be able to have these patterns established and you can manage and life cycle those patterns that way the return on it is when somebody goes to build a new application and they use pre-approved building blocks these patterns your architecture review board says okay you're using these five approved patterns to construct this thing we approve because we've already approved the building blocks that you've hooked together it's just a matter of of checking that you hook them together correctly and and you're in business that is a modern way to get high scalability and very consistent results in your I.T for your own home built systems so at this point let's do a little bit of demo and then I want to get into q a so easy place to get to the front end of this thing is from the um the old APN as I said the EA workspace is coming so for now we go to the old application portfolio management home and you'll see technology reference model and here we're going to see the um the Gantt chart View pretty simple pretty straightforward it's just reflecting and it's organized by publisher then the products and then each of the versions um this is fixed in the way it's organized one of the things that we're hoping for in EA workspaces that we'll be able to look at it by category that's actually the easier way of consuming it for now with what you have you can still look it up by the categories so you could search for data mining and it didn't help me um but you get the idea so going back to the actual module here we have quite a bit um this is the trm product table look at it from for example DB server we see and I'm missing the category I'll add a category real quick speak data mining um I can indicate here how how do I intend to maybe I'm just going to maintain so we're not really going to introduce new versions we'll stay with what we have but we're going to invest so this just gives an this is kind of a product usage management we have the business justification this is also where you might enter restrictions this becomes information about it and then we have the particular versions and in this case I just have one life cycle perversion but as we discuss best practices to have that at least the approved preferred the dive as and then the end so at least three phases in there then I have the particular phase here are categories categories again can be apparent um I've used a couple of methods for categories one of the things that we have in in service now if you have Sam Pro is there's a unspec classification that makes a great set of categories it's a single layer but that works well and it and it would then matched what you have in Sam and quite often I find that customers already have their their sets of categories and then here are the phases note production of proof this is key so any phase that is allowed to have a product in production we check production approved then we can also put colors on it we can pick what shape is used on the little Gantt chart View and so it lets you customize the view a little bit but the key thing for analysis the names they don't matter it's just words descriptions same that's that's for meta information for people consuming this what matters for analysis is production and proof it either is or it is if it is and it's in production we find it under TPM okay everything's good but if it's not if it's the technology we identify as not production improved then we're going to throw a technical debt record and just to get to the technical debt um unfortunately this system I don't have any but what we could do is I will show you how we go around that so technical debt is a scheduled job so if I go to system definition technical that I look for trm populate PRM technical debt for production applications you would probably configure it you'd want to configure it um here I'm just going to execute now it's going to go out and do the analysis if we go back to our APM and our technical debt I have almost no date in this system so but I'm going to get some in fact I get quite a bit here so software we see and we see the reason software is not approved for production software full version is not approved for production we'll find some software is not defined in the trm so it gives you the reason that a technical debt record has been thrown so with that that's a quick rundown and demonstration we got about 20 minutes left I really want to get to open q a and um I'm going to go to the questions here yeah see five questions mark yeah so uh I'll just go through them and we'll answer again um a search now customer I know customize a previous search now version to much of what trm does now do you have any suggestions on the best way to migrate using the now out of the box capabilities yes the the key understanding for that is establish the product record so from whatever they built identify how they express product create an equivalent trm product then however they're identifying versions you create the version lifecycle records I would imagine that they have dates on there and they have some sort of concept of approved non-approved that kind of thing you just translate it into the correct phases and adjust depending upon how they've done it adjust the phases um so that you can so that they match your current terms um it's designed to be changed there I've seen others customers implementing that are hesitant to change the phases but by all means please do especially I like the idea of putting in preferred and making it known that this is the one that we want to use we get a better deal on it or whatever it is the concepts are as you can indicate and help Drive proper action Travis is asking when will Hardware standards be available um the last update we had from product management is we're predicting um there will this trm is released twice a year it's part of the core APM so we've got a version a new version of APM coming out with Vancouver this fall but it didn't make it Hardware is predicted to show up next spring that would be um that would be in March so as we have updates we can keep everybody informed and and to be honest there's going to be an APM Summit this fall I invite you all please join us at the 8 PM Summit please watch out for these meetups because we'll talk about road map but especially at the APM summit we're going to cover our latest version of roadmap um once trm software standards have been established how does servicenow then allow someone to request that software so there's multiple approaches to that software Asset Management actually has facilities built into it to allow you to declare that this software title uh and create a catalog item for it because it has that functionality that our our principles if you will especially in the APM is we work with all the other products in the platform you'll hear us say power of the platform uh and it's that's what it's really all about so if if I go to DB server here just as a demonstration and I'd look actually let me go to the software models if I go to software's models uh that's not what I want here we go product models I go to any one of these and I'm just picking end user computer Computing because it came up here acrobat professional I drill into it and I wait for it to render uh when it renders I'll show you there's there's a place where you have a a related link so that you can actually publish this thing to the catalog so how you promote your catalogs that's kind of a internal very company specific process so trm doesn't deal with that we deal with establishing the standards catalog asset management is where you publish to the catalogs and I don't know if this thing's going to render or not I'll go to the next and we'll come back we'll let it Ritter in the back can you speak to the Content Library subscription so the Content Library part of the content content library in service now is part of what I if you subscribe to a software Asset Management Pro we provide content there there was some companies uh previously called bdna they had a thing called technopedia we do the same thing we provide a curated set of hundreds of thousands of products and their versions and we provide the products we provide the version specific vendor life cycles that's what we call the Content Library so see here we have product catalog this is where I can define a catalog item um published a software catalog that's the part of it it's a little bit more than what we could go into today but the idea is that here's where you publish it for consumption trm is where you identify it as allowable with trm we set these two flags restricted software and certified if it's allowed in production we'll set the certified flag if it's not allowed in production we'll set the restricted software that affects whether it shows up in the catalog so working with it Asset Management we're able to kind of provide functionality on both sides trm is about governance though I do want to emphasize that so uh question is it possible to integrate application roadmap with technology roadmaps since it is the application roadmap is and speaking business application that's something that's coming out soon there and there's two facets of the business application roadmap the way we prescriptively say to establish a roadmap as you create demands and then work that comes from those demands to represent the activities that have to go go on to upgrade retire whatever it is with the application but we are also coming out with a prescriptive life cycle based application roadmap I believe that's going to be out in Vancouver uh and that'll be on the business application so can you use that to drive the business application roadmap you could but what you've got to do is say this is the key software because business applications Enterprise systems they're compositional they're not just one piece of software it's multiple pieces of software the way I put it is business applications are not software they're they're compositional of software Hardware networking um all of these things even Services uh Technical Services all working together to make a business functionality happen these Enterprise systems are more than just a single piece of software so translating from a trm life cycle to an application life cycle you then have to identify what is the key technology software technology that makes us uh no that's that's entirely possible and from that you could maybe drive your application life cycles so we're in create new business application request process can one select what trm components and models in the future are being proposed to support we don't have that yet so and how that's going to work one of the things that we're moving towards um if you've been listening to some of the csdm um comments and the evolution of CSD and we're moving towards this concept of a digital product right now with actually with the release of um what was it San Diego I think we introduced model ID on the business application that model specifically an application model these application models can be compositional so you could have software models Associated to them you could have pattern models Associated to them you could have other application models so the idea and this is just an assumption I have this is very very far out there in Safe Harbor but one way that it might be done is we may use application models to represent these patterns we use software models and Hardware models to represent the Technologies so the way that might happen is you have a application model that represents the business application and it's Associated by reference you then have a component bundle underneath it that has the software models and the application models that represent these patterns so you have the whole compositional bundle there in a design level that you could validate with work with manage Etc so that that is a possibility again that's pretty far out in the future we don't know how it's going to manifest but it's one way that it could happen and it's along the lines of what the csdm our leaders in csdm or Scotland and Mark bodman and they've been talking about that if you're not aware of John spirico's Digital Services forums um let us know we can get a an invite out to you they cover this kind of stuff plus all kinds of else other other things so it's another really great program going on here so uh other questions in um and and if we want we can open up on participants I was going to see if I could allow everybody to talk but I can't um if you raise your hand or if you ask your questions in Q a I can answer them any other questions okay well if uh if we don't have other questions uh we are always here um reach out to us send us a note if you got other questions um if you have particular needs to let us know um if you have thoughts on what you need from the hardware side we'd be especially interested in understanding what your needs are for Hardware as well as as patterns ah Alicia C has something to have categories set up as a hierarchy but when I set up a parent category and some and defined subcategories yeah the UI is is needs to be fixed the UI the short of it is the UI does not support the category hierarchy and that's um that's actually a bug that's been filed and I think it's in backlog to address that um again Safe Harbor one of the ways that we'd like to see this manifest is when you go to business capabilities over here in EA workspace imagine this was the trm catalog and my system is especially slow for me today you see how the cat these capabilities expand so what would be nice is we have the categories out here at the front and you can expand them and then at the leaf nodes you would see the TRN um the trm products that's the kind of view that would be really useful for consuming this stuff again all of this is in the works and as EA workspace and possibly even another consumer like an I.T owner's workspace uh move forward that's the kind of thing we'll be able to address but yes right now the one thing you could do is you could configure that to show a hierarchy there are ways we're short on time so we can't go into it but if we go into a product we go in here this pop-up can be configured to show a hierarchy rather than just a list another thing that I've done in there is just gone in and configured this list so at least shows the parent so we're down to three minutes left any other quick questions so one last thing I want to leave you with if you're inclined we would love to have you in our SPM evangelist program um if you again you'll have this presentation so you can find the link from here but um gives you access to work with our product managers and and we we appreciate all your feedback we appreciate all your participation it helps us to build a product that works for you and with that um I want to thank you all for joining us and next month we will be doing uh the Enterprise architecture workspace and we'll talk about how to configure it to meet your needs
https://www.youtube.com/watch?v=rslxzlZCpRc