 Dyna'r ysgol tyd! Y dynion ar weithfyrth wedi'u cyntaf. Mae'n bywyd yn achos iawn y cyd, sy'n wych yn dylem iawn. A ydych chi'n gwybod eich cerddor arfarfwyr yn gweithio'r ffion mwy o'r popeth? Mae'r hyffordd fawr i mi dylun morgylch. Felly, gyd ni hynny'n gwneud yr ad pleasurefodol, ydych yn gyfnod yn y ffion gydd. Mae'r sesiad yn gyngor i gael ein llwydol yn eistedd ac eistedd y gallwn am gweithio'n gweithio'n gweithio. Rwy'n eistedd am ddod. Mae'r hyn mae'n fawr ddwy o'r rydym ni'n gweithio'n gymhreithio'n gymhreithio a'r reithio'n gyngor. Rwy'n cael eich cyfeith Hiphlygofyrau Cymru'r ddweud yn llwyddiadau, a wnaethau yn arweith aeth susaf hynny oherwydd i'n gwneud eich hi'n ceisio'n gweithio. Why? I'm very strongly encouraged speakers to make themselves available at the end of their talks to people so you can take questions outside and spend as long as you want, discussing your favourite subject, with people who are interested in it. It...well we have to look to tell them. I think that's basically it! I will now introduce, so we've got...? This is a message about our sponsors whom Mario remembers, I'm sure. Certainly, we are very grateful to IBM and Oracle and... Thank you very much. Good morning. Can people hear me? Yes, the microphone. All right, good. So this is now a tradition of chapter of all these many years. It's the same of what was made in K in two sentences. One is the state of the community and the other is the state of the technology. I know that some of you are here, not because you like to work on it, but because you like to do a job. That's great. There's stuff here for everyone. So our community continues to thrive and grow. This is a good thing. We have seven new projects approved this year. I'll talk about most of these later on. The Duke project, for those of you who don't know this, is going to be a long-term home for all the Duke artwork. We have a bunch of new committers. 14 new committers were voted in this year. Three of them are not for the employees, those of the ones who are in orange. They are for all the tools they sell, or they're just in the sense that they show up at 8, and they do good work. We have eight new reviewers. Reviewers are a higher level in our project. We have eight new reviewers. Reviewers are a higher level in our system than those that have the authority to approve changes going into the main line code basis. There are eight new ones this year. More than half don't work for us. I think this is a good sign, because things are operating better. More and more non-reviewer contributors are moving up and getting the responsibility. We've also made some progress on improvements in how we all work together. In some cases, these are projects and efforts that have been underway for years. The Walter Goldie group is something we've been trying to create for three years now. Unfortunately, as with anything that involves lawyers, it can take time. It can take an unpredictable amount of time, especially if it involves lawyers for multiple things. All having to agree on the same document. Anyway, I'm happy if not thrilled to report that we have a version 1.0 agreement for the Walter Goldie group by most of this last week. We're most to review, and I will formally propose the creation of the Walter Goldie group sometime next week. Hopefully, we can get this up and running in a matter of just a few more weeks, not months, but years. This is all the more important now that we are firmly in the era of Inspector Miltdown and probably an infinite stream of funding sites and all the tax going forward. Another improvement is the compatibility and specification of the review group. This was created just after Fosden last year, so a little bit of history for those of you who don't know. Some have this internal group called the CCC that dated back to 1997. John was basically to do this, ensure consistency, ensure quality, ensure that changes to APIs and specifications were coming in for consistency. And above all, how he continued to operate even during the opportunity. Even after OVJDK was created, which enforces the source of tension, because this internal thing that they started to create would have to somehow find somebody to help them deal with. It's not only not acceptable, it's not efficient. So, we created a practical review specification review group in OVJDK. As I said, it was approved in February last year, right after Fosden. These are numbers off the census. It includes one more member of Lee who knows a thing or two about API design. But that's good. Everything that the group does, all the proposals for specification of API changes that the group reviews, are in within the above system. So, if you're bored, you can go all along and even comment on things. You have insights to contribute to incoming changes. So, it's all public, it's all there for everyone to see. All by school people. They're going to see you now, but you're going to die. Also, people could do everything. We don't have that yet. I think it was with this hacky idea of, well, so Oracle has, obviously, an internal little test system. Let's make a front end to that and just be a material repository. So, we created a special material repository called the Submitry Code. And you can clone it, you can create a branch. And if that branch starts in the back of the letter, being a DAB, and you push that branch back in, then Oracle's internal pull-in set of the test system will pick up that change set, run it through the build of the test system, and send it back in. And an email will tell you if, in the best case, it says, hey, everything passed. In the worst case, it will say, well, some tests fail, and it will include some information which has been sanitized, which you can then convey to an engineer who works with Oracle who can help you diagnose if they have access. Is this great now? Is it a hack yet? But it's only useful to some, especially folks who work on a hotspot, and don't have access to do a good set of tests across all the different platforms. The last year, this was experimental. In the meantime, Oracle's internal build-in test system has changed from the old system called JVRT, which you may have heard of, to this new system called Oc-5, which you may have heard of. And so it was offline in the summer, and we had to re-jigger it when she came back in. But anyway, it's back now, and it runs on Oc-5. We're still hiring out a few bugs. I don't know if Lexi got his email back to me. You know. You never find out what happened at Com. Sorry, Tim will track it now. Anyway, so it's no longer turned up. That's good. And if you want more information, you can find it on this weekday. At least on the views that there's no problem on this. So if you wanted to, you could go push the gazillion chain sets in here. But don't do that. We're trying to help people. All right. Another place where there's room for improvement. So this is a tricky topic. I've had to chat with a few people about this. It's my sense that we've got to the point in the opportunity community where we need to get a little bit more formal about who maintains what. Right? There's obviously a bunch of code that everybody cares a lot about. You know. We have a jowling string quote. But there's also code that some people care a whole lot about. Other people, they're having it there. But they aren't going to maintain it themselves. They don't have the expertise. They don't have the hardware. So I've spent some time looking at how other communities handle the system of how people are in the VCC community. I don't mean standard, but not a notion of having a maintainer spot on the root of your code tree. The documents, who is responsible for what, with some guidance as to whether you're going to change something in this area if you haven't been involved in it before you go and talk with them first. So that's been one source of inspiration. But also I think we can do this by observing what we've been doing informally now for a while. Right? There are courts in the repo that weren't there 10 years ago. In some cases, they weren't there five years ago. It's hard to see the AIX courts as there's the 90 courts, the AIX court. These are all important things. But not everybody has the hardware or the knowledge to maintain those as changes occur in the core of the system that inevitably do affect those courts. So the informal practice, the sort of obvious one that's thrown out is, well, changes will happen to common code. If somebody is working on, say, a big refactoring in hotspot, they'll make sure that people are maintaining the core of the system. All of the courts are aware of the changes coming in. But someone changing, doing a refactoring in hotspot is not obligated to go test every court. They might not even have the hardware to be able to do that. So these other courts are maintained primarily by their maintainers. And a refactoring comes to the hotspot that the maintainers need. So this is just an initial notion. And I'd love to give feedback on this today as we're chatting formally. I'm still not quite sure how to write all this down. I've taken a couple of steps out of it and the doctors just want them to run. I wasn't sure. So here's a slide. The ultimate is the shortness. Let's see if I can convince it down. Three tiers. A tier one feature or component of your subsystem, I'm not quite sure what they call it, is something that's critical to the ongoing success of jobs. It can be built and tested on commonly available hardware and operating systems. And if a build of one of these platform breakers, a build of one of these features breaks, then that's P1. It's hair and fire. Godfix is right away. And whoever made that change for their responsibility. Tier two is something that's important to some, maybe a lot of contributors, but not everyone. It might require studying hardware, your operating systems, in order to test a little breakage of this kind of nature. It's a P2, so it's important. Godfix is soon, but you don't need to stay on the line in order to do so. And fixing it is primarily the responsibility of the maintainer of the future rather than the person who made the change. Obviously, the person who made the change should make sure that all these the thrill of the maintainers of these features know that this thing's coming and should offer assistance. But with offline responsibility is all of me. Then tier three is a feature that's candidate or has been deprecated as candidate for removal. It happens when a feature has no active maintainers. Or if it's maintainers have decided, okay, it's just not for this thing to go. Breakage of a tier three feature is a P3 button. If you're good to fix it, it's not just offered to release. So, these are really dismantical thoughts. As I said, I hope to be back and advice on this because it's been difficult to figure out how to write it all down in a way that doesn't get overruled. Now, to be honest, I'm not sure of this. I'm not sure that everyone will like it. I'm a little bit queasy about it myself. All the cool kids these days. Oracle is actually a really big slack. We've got slack spaces at Oracle coming out of our years and channels everywhere. I could admit, having used it for the last year or something, it's useful. I mean, it's IRC with the better consider. I still miss the terseness and let's say the low latency about IRC as opposed to 50 miles of the college group around here. Anyway, so the slack is around. It's really popular. A bunch of people find it productive. Shouldn't we get one? Is it open source? No, it's not. That's part of that. I'm queasy about that too. Is it a commercial operation that could disappear in three months if they don't get funding? Yep, it is. Where's all your money? Yeah, so what we're going to have to figure out, slack.num actually exists and created it like three years ago. Of course, slack has been thinking, well, baby slack, you've got to do it. I know users really well. If we wanted to, we could make sure it has all the big, right after you stuff around it and open it up and it could be ears and others. But if the sense is that nobody can use it, we won't bother. You're going to bother? No. Yes? No? No? No? No? No? Okay, so I guess I would be about it. It wouldn't be an improvement. As long as it's got an IRC gateway? It does, yeah. There was officially a support in IRC gateway. I'd say that was enough. Does that mean anybody's vote? Okay, so how many people say what you're doing now? Yeah. Okay, well thanks for all your... I'll figure out many things that we're going to be working on. Ac mae, cwm ni'n golygu gydweithio, dyma, ar y cyfnod wedi cael wneud hynny. Mae'r ei wneud yn yna yw'r llwllaeth, mae'r cyfnod rygyn i'r cyfnod yn tyao. Mae'r cyllid yn rygyn i'r cydweithio, mae'n gyllid yn cyfnod, mae'r cyllid yn hynny yn 100 o'r llwr celebratedu yn gyfnod yr oedaf, myndwill yn gyfnod. Mae'r cyllid yn gyfnod yn eithaf. Oherwydd, dweud yw'r cyflodd yn gweithaeth yn celf. Mae hwn yn gwahod hyfforddiant, My act would be a little higher than the expect. I know that the downloads to statistics on the Oracle 80k somewhat surprisingly are almost as high as they were for 80k, we're not sure why the emerged. A lot of people are. So, if in the tires, what is next, we hopefully, hopefully what's next is a little bit of an option, Unite 9. i'r ddwy 좋. Ond, yna hanffo, dweud o'r ddwy o'r mewn... ond y peth tynedd yn hynny i'r ddweud ac e'n ddwy o'r ddwy o'r ddwy o ddwy o'r ddwy i'r ddwy o'r ddwy o'r ddwy o'r ddwy o'r ddwy o'. Rwy'n o'n i'ch bod hynny yn deddiadio hefyd. Rwy'n'ch bobl a'i gwybod i'r achos hammer, But it would be some crepatiation because you may have heard that that the job of nine greats yesterday would cut it again. Well, that's not true the job of nine greats doesn't matter. The job of nine greats doesn't matter. Usually things that are getting they're mentors who are going to turn all the APIs into all kinds of other nasty stuff. Mi ddaeth yw eu latrwynt yma yn mynd i dyfodol o'r cael ei grwp ac yn dweud i ddweud ac nid sefydig ar gyfer y ddweud. Mae eich ysgol, stran, mwycwys Cristo, yr adrodd. Pwydoedd ychydig, a gyda ni'n gweld ar gyda'i adrodd, ac nawr, dychydig ar rai edrych, rydych chi'n credu dweud plus yllanc yddy, yschydig ar gyfer y latrwynt, yw ddyn nhw'n ganigod простur oherwydd a'r reidiau yma, I was one reason why all of this was so long. I will go into all the details here. But a lot of things do actually work on Java 9. We don't have to take my word for it. Shortly after the 9 was released, I asked on Twitter, do you maintain a popular Java library framework for a tool? It works fine on getting a 9. It takes your five with its name and version. I got a big pile of responses. Here's a summary. It's not exhaustive, but it has a lot of popular things on it. It's all of these things to work fine on. The other work without change, or in some cases, there are maintainers having to make a few modest changes on it. On this list, you will find the major I.D. that goes into Tele-J. The major build-jewels can of course make those changes. Radle, testbrunner, jadunat, testNG, libraries, bytebuddy, Jackson, Lawnford J, Hyvername, Joot, Netty, the entire string framework. So all bunch of stuff is here. You're trying to run something on the I, but the first thing you should do is make sure you've created all of your dependencies so that you have all of this new stuff. All right, so it's time to about the night. But what comes after that? I understand more about the future. Let's take a brief look at the past. For 20 years now, more than 20 years, job has evolved in large, regular, and somewhat unpredictable steps. Each release has had one or a few really big features in it, and the release has been held until most features are ready. Adjusting the schedule has needed, sometimes, more than once, That's good for big features, but it's not so good for smaller features, because it means a smaller feature that's done, turns out, two years before the release, was unavailable for the people wanting it for two years. So we wound up with releases that are grand and majestic, but rather slow-moving. For job to be competitive in this day and age, it not only has to move forward, it has to move forward faster. So that's why we're switching to a strict train model. The new feature release every six months on a time-based schedule goes out in six months. I look pretty cool. Let's try to visualize this. Here's the timeline. Job and I, September 2017. The new feature release every six months, the next release will be in March of 2018. All of us will do that. Release after that will be in September of 2018, in March of 2019, and so on, and so forth. March and September will be out in here. Every feature release will contain any kind of feature, including a feature that removes all the features that go in, only when they're ready, only when they're nearly finished. They're going to be done. Oh, this thing, this new feature, it's done. We want to put it in to get some feedback, so that they're released a couple of months until we're here to finish. The beauty of the six-month model is if you miss the current release, because they're not released just six months away. I have to say, being almost done with the next launch in March, it's actually, it's really a breath of fresh air when you realize, oh, this thing I've been working on, I wasn't quite ready. Oh, I can push it in the main line in a couple more months and it will be the next one. That's great. So, in terms of how the lifetimes of the release releases, the notion is that we, we, we, and we, the features that will contain it, the other will support each one of these feature releases for at least three months, or at least six months. At least six months on three months or a quarter of the update. So, at least two, but no, at least, that doesn't mean that that's very different from at most. A six-month release is, is fine if you're a media developer playing something in the cloud, and you update it whenever you need to. It's not so good for enterprises who are just working on a sort of app server type deployment, you know, a big job installation from a big hardware who really don't want to upgrade very often. So, what we plan to do is have a long-term support release every three years. So, the release in September 2018 will be in LDS, and the release in September 2021 will be in LDS. And if this graph were a little bigger, it would show that JDA-8, the whole dynamic, would be like we have here. JDA-8 is with the previous long-term support release. Do we need some overlap? Excellent question. I'll refer you to a couple of questions. All right. Now, there's a problem with what to call B9, obviously, is called B9. When I made this proposal last summer, I suggested I made this proposal last summer. I made this proposal last summer. I suggested I suggested I suggested I suggested I suggested I suggested I suggested most of it would be emotional, but some would be Ana歌. I thank you if you sent the boast. Clear your mind back. Anyway, grant me out, almost completely compatible with the new version scheme we already introduced a b9. We should just call it B9. Now, it may be that it required some modest tweaks to the version scheme that we introduced. That's the plan to go for what goes on I dod o hyfforddi'r ddweud, a biscuits, a amddwg,cel a mydd. Mae'r ddweud o hyfforddi'r ddweud yn adrobatod firingwyr dweud. Mae'r ddweud i'r ddweud, a'i ddweud o'r ddweud o'i ddweud. Yn y mae'r ddweud, mae ydych yn rhaid i gwaith y byddwn archerio gydeblogr a rhaid i gwaith y byddwn archerio gydyddog, yn amlwg y byddwn a'r ddweud, ac yn yr ydwyr, mae'r bwrdd… We've already been able for nine as for the 10 that are in the access releases at the end of coming up next. We are open sourcing all of the Oracle's loads. Well, the primary things that are being open sourced are FCDS, the application class of data sharing, which you will hear about later today. Government flight recorders, government machine control, and design authority. FCDS is in KDA 10. ZUC, we open sourced it a few months ago, back in the hall. JFR and JFC are working. Another change, working engineers will focus primarily on Linux, Mac OS, and Windows on X64. And it's going to spend relatively less effort on other ports. And finally, we're going to dedicate some staff to working with other of the gatekeepers. I figure out how to do a real open build test system that anybody can use. It's one of the last long-term things that we've all wanted to do for a great day. Now, as with any Norw's change, I know there are lots of worries in the future. So let me try to address those in my best Dave Letterman style, the top five misconceptions about Linux. Number one, non-LTS releases are experimental. It's just a fancy name for a beta problem. The only difference is that LTS releases have a longer support than I want. You should not fall into the trap of thinking, oh, my feature doesn't make it into this LTS. Nobody's going to use it. Or I should find this feature so that it's going to be in this LTS. Or I can't deprecate it until the next day, LTS. No, LTS, it's not even something that's necessarily beautiful. You know, one implementer, one vendor who decides to do a LTS on every single feature release. If they want to do this business with that, I don't know. Number two, the rate... Sorry, number two, every feature release will be as disruptive as past feature releases. No, no, no. What's constant is the rate of innovation. The rate of innovation, which relates very strongly to the rate of disruption, doesn't change the rate of innovation. Rather than introducing changes once every three years, it's not another unpredictable schedule. It's every six months on a more predictable schedule. Number three, to remove an old feature requires three years advanced notice. To remove an outdated feature, what it really requires is a production-ready bill that issues a suitable warning. It's possible for that to be the case, because a working bill with a suitable warning is the ultimate case note. You can't ignore it. Well, you can ignore it after the first time you see it. You can't say, oh, it was an open security system I didn't see. As to how much time should pass between deprecating a feature and actually removing it, it's a matter of some cases six months will be adequate, in some cases a year will be better for something really big. Yeah, maybe two or three years is a good interval. Number four, if you maintain an infrequently-figurated system, then you can just ignore the non-LTS. That would actually be a bad idea. If you're maintaining a system like that, you can test with features, because if you do that, you'll be almost ready for the next LTS when it comes out. There's a bunch of work that all Kyle's up in the end. Number five, there will never be more than two updates for any non-LTS release. And there will never be more than three years of support for any LTS release. It all depends on who shows up. It all depends on where you're getting your bills from. You might be paying someone, some company for your bills, you might be doing them yourself. You might be building them on your own whenever you're getting paid. It depends on who shows up and how you're getting your bills. Now, speaking of showing up, I know there is some concern about the extent to which Oracle will continue to show up. So I'd like to put some firm lines around that. In terms of the commitments, what Oracle tends to do, so this is another one of these slides where we need to suppose it's Oracle. Oracle will lead and contribute to every JDK feature release. Oracle will lead and contribute to at least the first quarter of the updates of every JDK feature. Oracle will publish over JDK bills under the GPL or at least the above releases anymore. Oracle will lead and contribute to the JDK updates project until at least January 2019. And we will do our best to ensure smooth leadership transitions given when Oracle ever steps down for many of these roles. I know there's been a bit of work for Buffalo recently we didn't do as well, but we could output for the 89 updates, sorry. Part of that is just growing things around getting all those things on the bottom. We will make it work, but it's definitely Oracle's intent to ensure smooth transition so that other individuals, other organisations can act with any community and step up and share some of this work. Now note that the phrase at least occurs on the slide multiple times. Again, that means that it's a lower bound, not a member bound. If you look at the past in terms of how Oracle handles end of public updates to its commercial releases, often such commitments are later on extended that the situation warrants. All I can say is that these are the lower bounds that we can hear until today. The opportunity to get back on. The intent is that the opportunity community there will be three years of support. We wish that your viewers will think that what happened is up to those who show up. If nobody shows up, then those LTS releases might not have three years of support. They might only have six months. They might have 12, I don't know. If Oracle is not committing to do more, doesn't mean Oracle won't do more. I can say what they committed. We've got this straight model we've got to release going up the board every six months. It's time based. Time market is on. Like the tide, it waits for no one, it just goes. To feed this model, we need a pipeline of features and partners. And well, yes, we have to have such a pipeline in our caps. So getting an answer proposal, these are documents we've been using now going back to the 8K7. We waited up to document proposals and get feedback on them and ultimately follow something through the process of getting word in the mainline code. We've got quite a number of caps. There was a lot of it. Many of these were in version in the 8K7 store. So Canada, some of them have been closed a few have been withdrawn. But anyway, lots of caps here. Oh, and they're really fun part. It's been submitted and draft again. This is where you can find. You can sometimes find stuff that's out by accident that the author didn't know to publish. So there's cool stuff in here, including some stuff that's been withdrawn and of course the other. Oh, yeah. For a very recent model, we're off screen literal and there's a bike shed for you. Anyway, we have sort of a pipeline that feeds the train model. So, as we think about going from 9 to 10, the question is not what features are planned for 10. No, we're not doing a waterfall. No, I'm sorry. I can't predict what is going to happen at least one year from now. I can make a guess. So, the question is what features are ready for the features that are ready for some. These are the features that are in 10. Guess what? We're weeks away. We should think so there aren't going to be any more than that. So it's just these as well. But there is definitely some cool stuff here including my own model. One thing I will dive into so I can say that I should say is the first on mobile variable type inference. So, it's a recently popular opinion that Java does not have a type inference. But in fact, Java hasn't had a type inference for many years. In Java 5, we introduced type inference along with generic. So that you didn't have to type all the strings that you were invoking collections or .np lists that you could use. The obvious thing. We introduced some more type inference in 7 of the diamond constructs that you can omit. You can omit the type inference where you're invoking the constructor. Lambda in 8 included a whole bunch of type inference so that you didn't have to wordlessly type out the type of parameter and lambda expression. You could type the obvious thing and the model would go out and figure it out for you. Thank you, Mauricio. In 10, we have local variable type inference. Local variable type inference is meant to address situations like this where you're looking at a line and it's like, oh my gosh, I've got this long type name. You know, one of those nods will owe this white people and I've got it for two things. You've got a new buffer meter, fat level, what a pain in the butt. I can't, I've just typed all the other cool, really wrathful language to do this by now what I was going to do. So let's just do this and drop it. So this one we have in 10, the value of local in the name of features is local. You can't do this on a deal. You can't do this on a return type of event. You can't do this for small scope of code that you're in control of and where you can actually make your code more readable by just typing bar rather than any other name. So I'm sure you're right to write that for you because it will mean however we get. So here's a longer example where you're making a URL connection and a scanner around it and that does not work that way. And don't worry, it's not bad. It's not bad. As I said, we are weeks away, March 28th. We are on the verge of building the first release candidate that will be next Thursday. So keep your eyes on what features can you guarantee that you will be able to have an ISL IDM. But here are those that have been targeted so far. In fact, the first one, dynamic class file on this will mostly work a few days ago. There's a lot of stuff waiting for the errors to work. But that will get in. Dynamic class file on this is a cool feature. It will be happy to tell you all about it and basically those for five file constants, what dynamic did for methods. We had a laxies in Epsilon Eric Flecher. We are finally going to give a bunch of bigger projects even longer term pipeline. Some of these big projects have generated a few gaps already. Some of them are still quite nascent and are getting started. My guess is leading to a reduced boil of link. Ambr is designed to be a collection of features that come in over time. The local variable pack is actually the first one. Ambr has already delivered something in 10, but there's a long term vision which you can see if you look at the gaps. There are a bunch of gaps including one for switch expressions and cross starting literals is actually part of Ambr. So there's actually a vision for how that stuff will fit together but be delivered in small and fighters I think this one's great. The chocolates let's try the GAVA the first part of this is is looking at taking the brawl which is written in GAVA which is the basis of the experimental T compiler that's a nine and using math is available as an experimental compiler and eventually replacing C2 with math. Obviously we're years away from that as we do that work but we think that's a really promising fact that anybody who works on C2 and anyone who doesn't know that it's not a code base that has a whole lot of life but it's kind of awkward for the interface and data layout I was playing with it last week he didn't run it it's got a little bit of a bit of scrap he used to live playing and it would probably over a bunch of .h files and reduce goth interfaces that look vaguely like what's in the .h files that he's been introducing in calls for .h release Of course we'll have the alpine Linux port that Michael has been leading Shenandoah with all the little problems time garbage collector Valhalla value types and specialized generics that you're supposed to produce results by lane ZPC the ZGARG collector which is a scalable load ZPC so these are just examples of some of the bigger projects Michael has their first term on overlap there are two DCs here that have overlapping requirements and solution spaces but I'm looking forward to these things we're working together over time we've got one DC so we've got all these projects we've got a bunch of smaller things in the works all this is intended to help God we're going to go faster they'll do the work I've said I can't use any more