Next Video: First-Class Functions in JavaScript 🔥- th-cam.com/video/SHINoHxvTso/w-d-xo.html Timestamps for this video: 00:26 - What is a Closure in JavaScript? 01:34 - Can you give an example of a Closure in JS? 03:29 - Use of double parenthesis ()() in JS 05:25 - Are Let declarations closed over? 06:15 - Are function parameters closed over? 07:45 - Relation of Scope Chain and Closures 10:25 - Conflicting name Global variables in JS 13:25 - Advantages of Closure 14:24 - Data Hiding & Encapsulation in JavaScript? 14:59 - Example of Data Privacy using Closures 21:10 - Function Constructor in JavaScript 25:02 - Disadvantages of Closures? 26:02 - What is a Garbage Collector in JavaScript? 27:25 - Relation between Garbage Collection, Memory Leaks, and Closures? 29:42 - Example of Smart Garbage collection by V8 JS Engine in Chrome 32:00 - Result of the Crazy JS Interview 32:10 - Thank you for watching Namaste JavaScript 🙏 How confident are you with Closures after watching this video. Please tell me in the comments, I read each comment. ❤️
This should've taken so long to make.. - First he needs to write a script - Calculate the time he needs to say each dialogue for proper co-ordination - Dress up as 2 different people and shoot the video - Properly edit the video to make sure it doesn't feel like the same person - Upon that there will be a lot of bloopers we didn't see It probably took him whole day. Fantastic job Akshay 👏
wow, that is really a lot of work. At first, I thought both are different persons. After watching 5min, both look similar, and after reading comments that is confirm both are the same person. Fantastic job Akshay 👏
Well someone or something is reciting the other person's script and he is going with the flow and then act out the script by himself watching his video easy but yeah takes some effort.
Things learned: 1. An inner function can be directly called using two parenthesis ()(). 2. Even parameters can be passed this way (Remember that the function needs to be returned to do this) 3. Closures can also be used for data hiding and encapsulation. So other code cannot access this value. 4. Unused variables are automatically deleted in High Level Programming language by garbage collector. Closures allocate a lot of memory which cannot be deleted so this acts as a disadvantage. 5. Some browsers now have smart garbage collectors that automatically deletes variables that are not used outside closures.
Yes...return is must ...in that sense return is actually what forms closure i think...without return closure can't be formed and no variable can access its value from parent..am i correct
@@amsemity1792 Yes since the function is returned, that's the reason closure is formed. The inner function that is returned is able to access the outer function variables.
@@eashan2405 Due to closures. The moment counter2 is created => a new incrementCounter function is stored in counter2 different from counter 1 and hence the count in both are different. There are two closures formed now. One for counter1 and another for counter2.
you hit the ball out of the park with this video, this is not just a mock interview but a postmortem of closures, got so much insight along with entertainment, thank you so much, keep enlightening and entertaining us
After 6 years of experience, I have realized how deep and beautiful the closure is. At this level, I haven't even think of it. Really great work. Expecting more. You are a JS hero.🙂
From a creator perspective how hard it must have been....like presenting all the stuffs in a organized manner and attention to detail.....it was literally on point......Thank you for your efforts Sir.
Bro this is absolute gold how did you pretend to be nervous interviewing yourself hahahahahhaha.... Acting, Video, The Mole, everything gets an A plus. Subscribed
The interviewer Looks like Villain in old movies, but in Reality he is a Super Man and Sakthi Man. You are fantasitccccccc and You made my day brother . More power to you Brother.
Watching this excellent series after 1.5 years from the time it was uploaded. Let me tell you I have never felt the super powers of Javascript before this, Hatts off 🔥
Wow! This is a HIGHER ORDER tuto! Thank you so very much for it! This scenario really allows to understand all of the previous videos of the series in action. PLUS, you give more examples to better understand. PLUS you begin to explain the relevance of closures to get behaviours seeked when using classes, private variables and methods to access those hidden attributes... PLUS you kind of show how all of this is related to the functional programming paradigm with the impossibility to access the inner workings of the function while interacting with it only through functions... I would love so much if you did videos on functional programming and its uses in the industry! This 12th episode leaves me in awe... Again, THANK YOU for this content!
You know the best part was that while you were portraying the candidate side you have same level of confidence +nervousness which we all face and hile you were portrayong the interviewer part you were as confident as interviewers normally are.👏👏
Ok now this is called "True Innovation". Making people understand the concepts by showing them both the sides of the coin. Truly "One Of a Kind" video, absolutely loved every second of it and will definetly help me in my next inteview. @Akshay Saini is a LENGEND ❤️
Wow !!..what an awesome video and content...This is probably best video on closures on internet and Akshay is a good actor too ! His JS series is world class !
At last, when you say that I've learned from Namaste Javascript, this same thing happened to me yesterday and you know what is the best thing my interviewer also watched this series. Even if I don't get the job but the kind of confidence which I got is humongous. Thank you so much, Man!!
I'd pay to watch you kill a Web3 series! You're ability to sustain engagement, especially for someone with clinically diagnosed ADHD - phenomenal! As in you've helped actually begin to understand code, & be able to read it like a book.
I wish this video was uploaded before I appeared for the interviews last 1.5 month back 😓. If there is any 4th adjective degree after 'BEST', even that would be less to describe how awesome this video is!! Kudos to your efforts and thanks a ton 🙏🙏 Might come handy in my next interview process in few years again 😂
Teachings apart, your acting as an interviewee was superb! Also, many concepts cleared through this technique! Thanks man. Hope I get this thing in the Namaste React too!
Going in depth, showing all possible follow up questions, while keeping it interesting at the same time, it is difficult to find such content. You are a gem brother. Keep it up!
Man ... you are a great communicator, the way you make topics that are usually boring out of complexity, fun , is really great value for the community, ty sir, continue the good work
I must say the amount of effort you put in your videos is amazing. Like the candidate being a bit nervous and the interviewer being careful observer. Big fan ❤️🔥🔥🔥
@@akshaymarch7 Thankyou and I hope your channel reach more audience. Big fan of the series Namaste JS💖. BTW a quick question out of curiosity - in the video which part was shot first? The interviewer or the candidate. 😀
I really like the way everytime the candidate answer, he says a new term and interviewer asked the same question, it like you deciding what the interviewer should ask.. Excellent 💯
Wow, this has to be the best coding video tutorial I've watched. So much information passed in a very creative and intuitive way that'll definitely enable the information to stick to one's memory. I have to commend the effort put into this video and I'm very excited to rewatch as many times as I have to
One of my friends shared the link as I've just fallen into JavaScript. He said it will clear all your basic doubts and you'll learn much more. But this series will be of this kind? Never imagined that. There are a lot of programmers out there but your enthusiasm is what I look for. Not just to write code but the time and effort to find the root cause of its working. Hatts of SIR 😍😍😍😍
I was thinking all the time it was a genuine interview and they both are different person.. but when he removed his glasses 6:53 tab mene dekha saala gangadhar hi shaktiman hai! 😆
Bro u r something that this world needs!! u did the interviewer part as well as interviewee part with exact same behaviour man!! and man explanantion to these topics are way easier to understand, ive never thought so earlier. YOU ARE A LIFE SAVING !!!!
It's just amazing ! Can't find this knowledge anywhere. I failed lot of js interviews due to this concept but not anymore. Thanks alot for your effort.
Laughing on your own Dialogue "Lets call it OUTEST" was funny as well as humorous as this way you are creating two distinct personalities of your own 😃😃😂😎😎😎😎😎
SO the last question 'from where did you learn all this' was in my mind since beginning of this video. But Akshay I really want to know from where should I learn JS to get all such deep dives.
I guess it always comes from learning a particular topic through multiple source(never forget the official doc)+curiosity(what will be the output if I do this and that).
its just blew away my mind the way u acted both the sides, acting of listening and understanding from interviewer side , the feel, vibe of both side , assome bhaiya, just hats off to you bhaiya!!!!
Advantages of closures Closures are very useful Closures are very important Closures are so useful that makes them very important Closures are so important that's why they are used at alot of places That's me writing in RGPV exam😂
This is really fresh content and a cool way to demonstrate an interview scenario. Ps: This interviewer is giving me thug vibes 😎 , especially with that mole 😂
Wow.. what a nice video on closer, before watching this video I had 0 knowledge about closer and now I feel I got what I was looking for. This kind of content help to understand very complex logic easily.
Next Video: First-Class Functions in JavaScript 🔥- th-cam.com/video/SHINoHxvTso/w-d-xo.html
Timestamps for this video:
00:26 - What is a Closure in JavaScript?
01:34 - Can you give an example of a Closure in JS?
03:29 - Use of double parenthesis ()() in JS
05:25 - Are Let declarations closed over?
06:15 - Are function parameters closed over?
07:45 - Relation of Scope Chain and Closures
10:25 - Conflicting name Global variables in JS
13:25 - Advantages of Closure
14:24 - Data Hiding & Encapsulation in JavaScript?
14:59 - Example of Data Privacy using Closures
21:10 - Function Constructor in JavaScript
25:02 - Disadvantages of Closures?
26:02 - What is a Garbage Collector in JavaScript?
27:25 - Relation between Garbage Collection, Memory Leaks, and Closures?
29:42 - Example of Smart Garbage collection by V8 JS Engine in Chrome
32:00 - Result of the Crazy JS Interview
32:10 - Thank you for watching Namaste JavaScript 🙏
How confident are you with Closures after watching this video. Please tell me in the comments, I read each comment. ❤️
This man is the godfather of js.🤩
hello there, 16 year old here...love your vids!
@@ravikumarkamble6403 Haha 😂
@@bluefury118 Wow, you're a champ!! 🙏
at 5:13 I was litearly screaming Hoisting 😂😂 good job, I am subscriber straighy away ❤️
What an interview, not just split screen, split personalities 🔥🙇
Jokes apart...must appreciate the effort bro...
May be he is a part time actor. Lol
His alter personality as interviewer scares himself. Unreal 😂
@@emmetsingh A good teacher is, at the same time, a goog actor.
This should've taken so long to make..
- First he needs to write a script
- Calculate the time he needs to say each dialogue for proper co-ordination
- Dress up as 2 different people and shoot the video
- Properly edit the video to make sure it doesn't feel like the same person
- Upon that there will be a lot of bloopers we didn't see
It probably took him whole day. Fantastic job Akshay 👏
wow, that is really a lot of work.
At first, I thought both are different persons. After watching 5min, both look similar, and after reading comments that is confirm both are the same person. Fantastic job Akshay 👏
Add "Tying a ponytail" to the list :D
both are same?
@@poonampoonam305 Yes
Well someone or something is reciting the other person's script and he is going with the flow and then act out the script by himself watching his video easy but yeah takes some effort.
Things learned:
1. An inner function can be directly called using two parenthesis ()().
2. Even parameters can be passed this way (Remember that the function needs to be returned to do this)
3. Closures can also be used for data hiding and encapsulation. So other code cannot access this value.
4. Unused variables are automatically deleted in High Level Programming language by garbage collector. Closures allocate a lot of memory which cannot be deleted so this acts as a disadvantage.
5. Some browsers now have smart garbage collectors that automatically deletes variables that are not used outside closures.
thanks for key points. (also small world 😅)
Yes...return is must ...in that sense return is actually what forms closure i think...without return closure can't be formed and no variable can access its value from parent..am i correct
@@amsemity1792 Yes since the function is returned, that's the reason closure is formed. The inner function that is returned is able to access the outer function variables.
@@jagrutsharma9150 But why is counter2() printing starting from 1? It should print 3 since counter1() is already called twice
before.
@@eashan2405 Due to closures. The moment counter2 is created => a new incrementCounter function is stored in counter2 different from counter 1 and hence the count in both are different. There are two closures formed now. One for counter1 and another for counter2.
Let us take a moment to appreciate the amount of time and efforts put to create this masterpiece. #respect
you hit the ball out of the park with this video, this is not just a mock interview but a postmortem of closures, got so much insight along with entertainment, thank you so much, keep enlightening and entertaining us
I never thought that someone will make learning so entertaining😂 hats off to you bro🙏 you are saviour for web developers 👍
Correct
no doubt👏
Took me a while to realise it's you on both sides.
I was hunting description to see who the other guy is 😂😂
Hahaha 😂
@@akshaymarch7 great job man ❤️
I was thinking the interviewer is techsith!! 😅
heyyy ...i watch ur videos too...
@@nemotivity I too...
After 6 years of experience, I have realized how deep and beautiful the closure is. At this level, I haven't even think of it. Really great work. Expecting more. You are a JS hero.🙂
From a creator perspective how hard it must have been....like presenting all the stuffs in a organized manner and attention to detail.....it was literally on point......Thank you for your efforts Sir.
What caught my eye was the passion that you put into it. You can see that you REALLY want your viewers to learn and not just spill your knowledge out.
Bro this is absolute gold how did you pretend to be nervous interviewing yourself hahahahahhaha.... Acting, Video, The Mole, everything gets an A plus. Subscribed
Wtf. I didn't know that the interviewer was Akshay until I saw this comment.😂
@@kalyansreekarjhade2944 konsa nasha bhai?
@@nikhilthakur5089 🤣🤣
@@kalyansreekarjhade2944 hahahaha me neither, for reak
Mole 😂😂🔥
This namastey javascript series is going to make many folks get a good job
The interviewer Looks like Villain in old movies, but in Reality he is a Super Man and Sakthi Man. You are fantasitccccccc and You made my day brother . More power to you Brother.
Hahaha 😅
hahaha ha ah aha ha ah haa haa
Watching this excellent series after 1.5 years from the time it was uploaded.
Let me tell you I have never felt the super powers of Javascript before this, Hatts off 🔥
After 2 years
After 3 yrs
Wow! This is a HIGHER ORDER tuto! Thank you so very much for it! This scenario really allows to understand all of the previous videos of the series in action. PLUS, you give more examples to better understand. PLUS you begin to explain the relevance of closures to get behaviours seeked when using classes, private variables and methods to access those hidden attributes... PLUS you kind of show how all of this is related to the functional programming paradigm with the impossibility to access the inner workings of the function while interacting with it only through functions... I would love so much if you did videos on functional programming and its uses in the industry! This 12th episode leaves me in awe... Again, THANK YOU for this content!
You know the best part was that while you were portraying the candidate side you have same level of confidence +nervousness which we all face and hile you were portrayong the interviewer part you were as confident as interviewers normally are.👏👏
Ok now this is called "True Innovation".
Making people understand the concepts by showing them both the sides of the coin.
Truly "One Of a Kind" video, absolutely loved every second of it and will definetly help me in my next inteview.
@Akshay Saini is a LENGEND ❤️
LEGEND*
The interview process was so real, the interviewee grew in confidence with passage of time.HatsOff
I tried to create an actual interview scenario. Glad you liked it 😇
Clash of interviewer and candidates
Both came from Namastey JavaScript episodes 😀
They formed closures 💕
That little nervousness in the interviewee voice and the strict and confident tone of the interviewer explains that he is a great actor as well 😆
Wow !!..what an awesome video and content...This is probably best video on closures on internet and Akshay is a good actor too ! His JS series is world class !
Thank you, this comment made my day 😍❤️
At last, when you say that I've learned from Namaste Javascript, this same thing happened to me yesterday and you know what is the best thing my interviewer also watched this series. Even if I don't get the job but the kind of confidence which I got is humongous. Thank you so much, Man!!
2 min of silence for those who thought they are different persons
Do you think people are actually THAT dumb ?
@@shashikanthp3145 Yes, I am that dumb.
@@46divyajeetsingh 😂😂 really ? Are you a new subscriber ?
@@shashikanthp3145 yes
ha ha dying lol!
I'd pay to watch you kill a Web3 series! You're ability to sustain engagement, especially for someone with clinically diagnosed ADHD - phenomenal! As in you've helped actually begin to understand code, & be able to read it like a book.
bhai this deserves more views . the student spoke just how regular engineering students respond in their vivas. DOPE🔥🔥🔥
The interviewer acting of yours is Scary as hell, a person very calm and also asking penetrating questions.
I wish this video was uploaded before I appeared for the interviews last 1.5 month back 😓. If there is any 4th adjective degree after 'BEST', even that would be less to describe how awesome this video is!! Kudos to your efforts and thanks a ton 🙏🙏 Might come handy in my next interview process in few years again 😂
Heyy are you working now?
NamasteJS >>>>> Netflix
Loved this one. ❤
The interviewee did a fantastic job. I can see the uncertainty, fear and anxiety on his face. Perfectly recreated the interview scenario. Kudos
Teachings apart, your acting as an interviewee was superb! Also, many concepts cleared through this technique! Thanks man. Hope I get this thing in the Namaste React too!
cannot believe I'm watching this on a Saturday night instead of Netflix. Keep them coming! Your content is amazing :)
Wtf! Same
sun night at 0.19am :D
This is why i am eagerly following LinkedIn akashy bro !!..from entertainment videos to javascript concepts...This is what new india will be..jai hind
Interview with flawless internet connectivity.
And also flawless camera quality :D
@@kumarshubham7017 also flawless audio quality
No words to appreciate how beautifully explained the concepts are...just paused the video and came to comment. The efforts are truly commendable.
Cant resist commenting on this........A MasterPiece by a MasterPiece...PURE GOLD 🔥🙌❤
Holy crap, that's some next level content 😂😂
Right..
He is amazing dude. He had made learning so easy and entertaining, Colleges need this type professors, mentors.
जग घूमेया थारे जैसा ना कोई 🙌🙌
Never seen this type of educational video before! Mind Blowing! 🙇🙏
While watching this video I was thinking how much effort you have put into this series and specially this video. Hats off to you.
Who wants Netflix series when we have Namaste JS. Next level teaching
Going in depth, showing all possible follow up questions, while keeping it interesting at the same time, it is difficult to find such content. You are a gem brother. Keep it up!
This is brilliant. Closure was never explained so nicely before.
took me 7 mins to notice that both are same people
nice video got a lot of doubts cleared
You Actually explained what smart garbage collection is with an example. THAT WAS EPIC!!! Your teaching style is beautiful! ❤
Manh! I felt anxiety whenever this interviewer asks a question
Nobody can beat you in closure...Amazing video big fan.....🙏
Throughout the whole video I was wondering how you synced both the interviewer and interviewee. Hats off to you sir. NJs ❤🔥
Man ... you are a great communicator, the way you make topics that are usually boring out of complexity, fun , is really great value for the community, ty sir, continue the good work
A guy with good knowledge and a good heart. Hats off men
I must say the amount of effort you put in your videos is amazing. Like the candidate being a bit nervous and the interviewer being careful observer. Big fan ❤️🔥🔥🔥
Wow, glad you noticed. I intentionally tried to act like that. 😅
Thank you so much for your comment, love you brother! ❤️
@@akshaymarch7 Thankyou and I hope your channel reach more audience. Big fan of the series Namaste JS💖. BTW a quick question out of curiosity - in the video which part was shot first? The interviewer or the candidate. 😀
@@tabrezdn1 The Candidate. 😁
Best teacher award goes to Saini Sahab 🎉🎉❤️
Thats really awesome. Quick revision of core concepts. we expect the same overall concepts for React and Angular as well.
I really like the way everytime the candidate answer, he says a new term and interviewer asked the same question, it like you deciding what the interviewer should ask..
Excellent 💯
I first watched it 2 years ago when I was preparing for an interview and am now again doing a revision for my next job interview.
I was really impressed with the last question : Where did you learn all this stuff with your answer 😅🤣😂
The best thing About this interview was that it felt real
Beautiful interview, I am sure if asked in interview, I will definitely say namaste javascript❤❤❤❤❤
Wow, this has to be the best coding video tutorial I've watched. So much information passed in a very creative and intuitive way that'll definitely enable the information to stick to one's memory. I have to commend the effort put into this video and I'm very excited to rewatch as many times as I have to
One of my friends shared the link as I've just fallen into JavaScript. He said it will clear all your basic doubts and you'll learn much more. But this series will be of this kind? Never imagined that.
There are a lot of programmers out there but your enthusiasm is what I look for. Not just to write code but the time and effort to find the root cause of its working. Hatts of SIR 😍😍😍😍
what the..... I was getting nervous whenever the interviewer was asking questions, DANG IT !!!!
Akshay next level content representation.
Content is too good.
I was thinking all the time it was a genuine interview and they both are different person.. but when he removed his glasses 6:53 tab mene dekha saala gangadhar hi shaktiman hai! 😆
hahahaha
Bro u r something that this world needs!!
u did the interviewer part as well as interviewee part with exact same behaviour man!!
and man explanantion to these topics are way easier to understand, ive never thought so earlier.
YOU ARE A LIFE SAVING !!!!
just to record a simple video it took me 1 hrs I can't imagine how much hard work you have put for this video thanks again Akshay♥♥♥♥♥
This happens when Creativity meets Knowledge, dope nice video ....
loved it...
Great men extremely helpful 🔥🔥😍❤️
A zillion congrats. I don’t know why people waste time on carryminati.
Because all aren't programmers
Bhai mt bol warna yaha bhi dislike ki history bana denge log
Lol so true 🔥😂😂😂
Because carry has roasting and entertaining domain. Don't tell me, you code 24*7. you do enjoy other things too.
Open up your mind. Your so closed.
It's just amazing ! Can't find this knowledge anywhere.
I failed lot of js interviews due to this concept but not anymore. Thanks alot for your effort.
The kind of hard work you did Is highly appreciable !
31:44 Akshay being impressing by Akshay 😂😂 This was some dope content!! 👏👏 Thank you!!
Bro you have a hidden actor in you 😂🤣
True
😅
Right..
Hahaha, these comments helped me understand that the interviewer was himself. I was wondering why the interviewer had such a snobbish attitude😂
I liked that interviewer part when he was cleaning the specs 🤓🤣🤣🤣 anyways thanks a lot for explaining in these much of details.
Please Akshay sir please continue this series. It's been 1 year please sir continue it 🙏🏻🙏🏻
I've never ever understand what closures are, like you teach man. I'm just amazed and so so hats off to you for this series. Keep it up! Lots of love!
Oh my god such a mind-boggling interview ❤
Akshay, appreciate the amount of effort that must have gone into making this mock interview. Thanks a ton!! 💙
Laughing on your own Dialogue "Lets call it OUTEST" was funny as well as humorous as this way you are creating two distinct personalities of your own 😃😃😂😎😎😎😎😎
SO the last question 'from where did you learn all this' was in my mind since beginning of this video. But Akshay I really want to know from where should I learn JS to get all such deep dives.
I guess it always comes from learning a particular topic through multiple source(never forget the official doc)+curiosity(what will be the output if I do this and that).
Everytime i watch this interview it feels much more interesting. Thank you so much SIR ft. Akshay Saini🙏🙌❤
its just blew away my mind the way u acted both the sides, acting of listening and understanding from interviewer side , the feel, vibe of both side , assome bhaiya, just hats off to you bhaiya!!!!
The mark on the interviewer.. I was cleaning my screen but then realized.. Haha
Hahaha 😂
It's another version of akshay bro....❤️🙏👍
hahahahhahahahahahhah trust me i was thinking there are actullay 2 diff friends
@@simple8810 awesome....bro akshay did and doing well intraction...Always
Honestly speaking at times I felt like the Interviewer knew less than the guy getting interviewed.
Both are same bro :P
Advantages of closures
Closures are very useful
Closures are very important
Closures are so useful that makes them very important
Closures are so important that's why they are used at alot of places
That's me writing in RGPV exam😂
Same same bro 😂😂😂😂😂
Man I just want to say that you are helping alot of people by making tough concepts easy, thank you from the buttom of my FUNCTIONAL heart😀
Your Efforts, just blown my mind !
This is really fresh content and a cool way to demonstrate an interview scenario. Ps: This interviewer is giving me thug vibes 😎 , especially with that mole 😂
Hahaha, interviewer is the real OP. 😎
@@akshaymarch7 haha 😂
For a second there, looking at the thumbnail, I thought you did a collab with tech sith..😂
Relating the expressions whenever a new question is asked 😂😂
Right teacher will make us learn and love the most hated subject also. You are the Right One!!!
wish we had teachers like you in schools, colleges and uni aswell....love your way of teachings
epic answer for the question " where did u study all these closures " 😂😂 akshay saini from youtube 😂😂
For giving the feel of connectivity issue you add slowmo in some parts I am right
By the way closures are dead after this video 😂😂
Hahaha 😁😂
we know BB ki Vines. Now, we also know Akshay ki Vines :P
Wow.. what a nice video on closer, before watching this video I had 0 knowledge about closer and now I feel I got what I was looking for. This kind of content help to understand very complex logic easily.
That dress code, that background, that shadow of running fan, that tone of asking questions...lit🔥
You as an interviewer, laughing at your own joke "let's call this function outest" 🤣
It is so fun to watch this interview drama. Looks so real! Learnt closure inside out from you in a super fun way. Amazing JavaScript ⭐️
Seriously man, it's like a real interview.
You're amazing, man. You're helping a lot of people to get better jobs and improve their quality of life