Yes it does need optimization, I made it as a quick learning project so i wasn't bothered about optimization.
Glad to hear your feedback😀 Thanks 👍