Java Modularity
1 What is NOT modularity ?
2 So, what is modularity then ?
3 Why use modularity ?
4 Implementations of modularity
5 OSGi
6 Jigsaw
7 Jigsaw vs Osgi
8 References
What is NOT modularity ?
compile time runtime
What is NOT modularity ?
Monolithic system
• One piece
• No subcomponents
• Tight coupling
• No independent existence
• Growing functionality and
interdependence
so, what is modularity then ?
What is Modularity ?
• Module :
• Every single deployable unit
• Design technique that emphasises separating the functionality into
modules that are :
• Independent
• Interchangeable
• One functionality
Why use modularity?
Java Modularity - Why ?
• Pros
• Louse coupling
• Optimise development
• Escalation and evolution
• Reuse
• Ease testing
Java Modularity - Why ?
• Cons
• Adds tracking complexity
• Needs more good code practices
• Forces us to consider more flexibility
• Think about collateral effects
• May add architecture complexity
Java Modularity - Implementations
Java Modularity - Implementations
 SOA, micro-services
 OSGi
 Dynamic modularity
 Module lifecycle
 Service discovery
 Package security
 Package versioning
 Jigsaw
 Static modularity
 Mainly to create JRE subset
 Initially for small devices
Java Modularity - OSGi
Java Modularity - OSGi
 Started in 1998
 Different implementations : Equinox, Felix, Knoplerfish,
Karaf, Fabric8, Netbinox
 Current specs OSGi Alliance release 6.0
 Every bundle ( module )
 Its own class loader
 Its own lifecycle
 Service discovery
 Dynamic loading (lazy, eager activation)
 Meta information included in META-INF file
 Used in : Eclipse IDE, Netbeans IDE, Glassfish, WildFly, Adobe AEM (
Sling )
Java Modularity - Jigsaw
Java Modularity - Jigsaw
 Started in 2014
 In Early Access now, or final release in JDK 9 in 2017
 Explicit declaration of
 Importing modules
 Exporting packages
 Meta info in module-info.java file
 Module names must be unique
 Not includes versioning
 Introduce a new artifact format : JMOD
Java Modularity - Jigsaw
Modules dependencies in Jigsaw
com.foo.app
com.foo.app.api
com.foo.app.report
java.sql
java.logging
java.base
can not read
depends
java.xml
reads
com.foo.other
depends
reads
depends &
publishes
Java Modularity - Jigsaw
Module specification :
module com.foo.bar { // module definition
requires com.foo.baz; // module needed
exports com.foo.bar.alpha; // package published
exports com.foo.bar.beta to // package published ONLY
com.foo.client, // to these modules
com.foo.reporter;
provides com.foo.api.MyInterface with // publishing a service
com.foo.impl.MyImpl;
uses com.foo.api.YourInterface; // consuming a service
requires public com.slf4j; // module needed AND
// made readable to everyone
// who requires this module com.foo.bar
}
Java Modularity - Jigsaw / OSGi
Java Modularity - Jigsaw
Main differences
Jigsaw OSGi
Module dependency Java package dependency
Version agnostic ( only 1 allowed ) Version capable ( lots of versions
loaded at the same time )
No lifecycle management Lifecycle management
Export constraints No export constraints
Static modularity at deployment Dynamic modularity at deploy +
runtime
Java Modularity - References
Java Modularity - bloggers
Peter Kriens
@pkriens
Neil Bartlett
@nbartlett
Paul Bakker
@pbakker
JB Onofre
@jbonofre
Mark Reinhold
@mreinhold
Java Modularity - References
About Modularity ( monoliths / modular )
http://www.codingthearchitecture.com/2014/11/19/what_is_a_monolith.html
http://c2.com/cgi/wiki?MonolithicDesign
https://en.wikipedia.org/wiki/Modular_programming
About OSGi
https://www.osgi.org/developer/specifications/ ( specs )
http://njbartlett.name/files/osgibook_preview_20091217.pdf ( free old book )
About Jigsaw
http://openjdk.java.net/projects/jigsaw/ ( specs )
http://njbartlett.name/2015/11/13/osgi-jigsaw.html
https://www.youtube.com/watch?v=y8bpKYDrF5I
https://www.youtube.com/watch?v=UKC0uC7QUkI ( Mark’s Devoxx Talk )
Java Modularity - Books
Non modularity books
Martin FowlerGoF
Paul Bakker
Richard S. Hall
Achim Nierbeck
Thank you…. and happy coding !!!

More Related Content

KEY
Modularization in java 8
PPTX
Modular Java
PPT
Developing modular Java applications
PDF
Desiging for Modularity with Java 9
PDF
Java modularity: life after Java 9
PPTX
Java Modularity with OSGi
PPTX
Java 9 Modularity and Project Jigsaw
PDF
Java Modularity: the Year After
Modularization in java 8
Modular Java
Developing modular Java applications
Desiging for Modularity with Java 9
Java modularity: life after Java 9
Java Modularity with OSGi
Java 9 Modularity and Project Jigsaw
Java Modularity: the Year After

What's hot (20)

PDF
Benefits of OSGi in Practise
PPTX
Step by step guide to create theme for liferay dxp 7
PDF
Modular JavaScript
PPTX
Liferay (DXP) 7 Tech Meetup for Developers
PDF
Open Services Gateway Initiative (OSGI)
PDF
Migrating to Java 9 Modules
PDF
JDK-9: Modules and Java Linker
PDF
Modules all the way down: OSGi and the Java Platform Module System
PDF
Introduction to Spring Framework
PPT
Java & J2EE Struts with Hibernate Framework
PDF
Modules or microservices?
PDF
Java SE 9 modules (JPMS) - an introduction
PPTX
Modularization With Project Jigsaw in JDK 9
PDF
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
ODP
Java Concurrent
PDF
MicroProfile for MicroServices
PDF
OSGi and Java EE in GlassFish - Tech Days 2010 India
KEY
Beyond OSGi Software Architecture
PPTX
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
PPTX
Software Design Principles (SOLID)
Benefits of OSGi in Practise
Step by step guide to create theme for liferay dxp 7
Modular JavaScript
Liferay (DXP) 7 Tech Meetup for Developers
Open Services Gateway Initiative (OSGI)
Migrating to Java 9 Modules
JDK-9: Modules and Java Linker
Modules all the way down: OSGi and the Java Platform Module System
Introduction to Spring Framework
Java & J2EE Struts with Hibernate Framework
Modules or microservices?
Java SE 9 modules (JPMS) - an introduction
Modularization With Project Jigsaw in JDK 9
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Java Concurrent
MicroProfile for MicroServices
OSGi and Java EE in GlassFish - Tech Days 2010 India
Beyond OSGi Software Architecture
Modularity of The Java Platform Javaday (http://javaday.org.ua/)
Software Design Principles (SOLID)

Viewers also liked (20)

PDF
Manuscritos Econômico-Filosóficos e outros textos escolhidos - Karl Marx
PDF
Hjelp vi flyr - alt om droner i TV-produksjon
PPT
55 PLUS Program pp
PDF
Oracle compra Sun
PDF
Claudia sanchez
PDF
El Nuevo Marketing 2.0: ganar en la Nueva Normalidad
PPS
moragoprl !!! 2008 Sevilla - Visita turistica !!!
PDF
PROGRAMA DE FESTIVIDADES 2014 - LIMÓN INDANZA
PDF
More than 1600 backlinks to Frontware.com
PPSX
Guía de trabajos prácticos
PDF
Disrupt and Become Indispensable
PDF
Content Startegy for a B2B Energy Client
PPTX
Modul 2 kb 2
PPTX
Actividades de ecoturismo slideshare parte 1
PDF
Tu Eres Tu Marca, Construyela
PDF
Hoja de respuestas vertical de 60
PDF
Astana JUG. Introduction
PPTX
Mesa Redonda: FINTECH. Revolución digital en el mundo Financiero. La oportuni...
PDF
Imágenes y Palabras
PDF
Dictamen Asociación FF.MM Reclama por Escalafón de Mérito
Manuscritos Econômico-Filosóficos e outros textos escolhidos - Karl Marx
Hjelp vi flyr - alt om droner i TV-produksjon
55 PLUS Program pp
Oracle compra Sun
Claudia sanchez
El Nuevo Marketing 2.0: ganar en la Nueva Normalidad
moragoprl !!! 2008 Sevilla - Visita turistica !!!
PROGRAMA DE FESTIVIDADES 2014 - LIMÓN INDANZA
More than 1600 backlinks to Frontware.com
Guía de trabajos prácticos
Disrupt and Become Indispensable
Content Startegy for a B2B Energy Client
Modul 2 kb 2
Actividades de ecoturismo slideshare parte 1
Tu Eres Tu Marca, Construyela
Hoja de respuestas vertical de 60
Astana JUG. Introduction
Mesa Redonda: FINTECH. Revolución digital en el mundo Financiero. La oportuni...
Imágenes y Palabras
Dictamen Asociación FF.MM Reclama por Escalafón de Mérito

Similar to Java modularization (20)

PPTX
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
PDF
New Modularity Features of the OSGi R4 Service Platform - Richard Hall, Ph.D....
PPTX
An Overview of Project Jigsaw
PDF
Java 9 modularity+
PDF
What's My Modularity
PDF
Moved to https://slidr.io/azzazzel/what-s-not-new-in-modular-java
PPTX
Modules in Java? Finally! (OpenJDK 9 Jigsaw, JSR376)
PDF
Jigsaw what the Heck Happens Now - N Bartlett
PDF
CodeCamp Iasi 10 march 2012 - SolvingThePuzzle
PDF
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
PDF
OpenJDK Penrose Presentation (JavaOne 2012)
PDF
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
PDF
Jax london 2011
PDF
Java 7 Modularity: a View from the Gallery
PDF
Java 9 / Jigsaw - AJUG/VJUG session
PDF
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
PPTX
Managing modular software for your nu get, c++ and java development
PDF
OSGI Modularity
PDF
Jigsaw - Javaforum 2015Q4
PDF
Java SE 9 modules - an introduction (July 2018)
Modularity of the Java Platform (OSGi, Jigsaw and Penrose)
New Modularity Features of the OSGi R4 Service Platform - Richard Hall, Ph.D....
An Overview of Project Jigsaw
Java 9 modularity+
What's My Modularity
Moved to https://slidr.io/azzazzel/what-s-not-new-in-modular-java
Modules in Java? Finally! (OpenJDK 9 Jigsaw, JSR376)
Jigsaw what the Heck Happens Now - N Bartlett
CodeCamp Iasi 10 march 2012 - SolvingThePuzzle
Javantura v4 - What’s NOT new in modular Java - Milen Dyankov
OpenJDK Penrose Presentation (JavaOne 2012)
Java Core | Java 8 and OSGi Modularisation | Tim Ellison & Neil Bartlett
Jax london 2011
Java 7 Modularity: a View from the Gallery
Java 9 / Jigsaw - AJUG/VJUG session
Java 9 / Jigsaw - LJC / VJUG session (hackday session)
Managing modular software for your nu get, c++ and java development
OSGI Modularity
Jigsaw - Javaforum 2015Q4
Java SE 9 modules - an introduction (July 2018)

Recently uploaded (20)

PPTX
Foundations of Marketo Engage: Nurturing
PDF
Engineering Document Management System (EDMS)
PPTX
Why 2025 Is the Best Year to Hire Software Developers in India
PPTX
Folder Lock 10.1.9 Crack With Serial Key
PPTX
ESDS_SAP Application Cloud Offerings.pptx
PPTX
A Spider Diagram, also known as a Radial Diagram or Mind Map.
PDF
Internet Download Manager IDM Crack powerful download accelerator New Version...
PPTX
HackYourBrain__UtrechtJUG__11092025.pptx
PDF
MAGIX Sound Forge Pro CrackSerial Key Keygen
PPTX
ROI from Efficient Content & Campaign Management in the Digital Media Industry
PPT
3.Software Design for software engineering
PDF
Sanket Mhaiskar Resume - Senior Software Engineer (Backend, AI)
PDF
Cloud Native Aachen Meetup - Aug 21, 2025
PPTX
Post-Migration Optimization Playbook: Getting the Most Out of Your New Adobe ...
PPTX
SmartGit 25.1 Crack + (100% Working) License Key
PDF
CapCut PRO for PC Crack New Download (Fully Activated 2025)
PPTX
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
PDF
Mobile App for Guard Tour and Reporting.pdf
PPTX
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
PDF
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf
Foundations of Marketo Engage: Nurturing
Engineering Document Management System (EDMS)
Why 2025 Is the Best Year to Hire Software Developers in India
Folder Lock 10.1.9 Crack With Serial Key
ESDS_SAP Application Cloud Offerings.pptx
A Spider Diagram, also known as a Radial Diagram or Mind Map.
Internet Download Manager IDM Crack powerful download accelerator New Version...
HackYourBrain__UtrechtJUG__11092025.pptx
MAGIX Sound Forge Pro CrackSerial Key Keygen
ROI from Efficient Content & Campaign Management in the Digital Media Industry
3.Software Design for software engineering
Sanket Mhaiskar Resume - Senior Software Engineer (Backend, AI)
Cloud Native Aachen Meetup - Aug 21, 2025
Post-Migration Optimization Playbook: Getting the Most Out of Your New Adobe ...
SmartGit 25.1 Crack + (100% Working) License Key
CapCut PRO for PC Crack New Download (Fully Activated 2025)
DevOpsDays Halifax 2025 - Building 10x Organizations Using Modern Productivit...
Mobile App for Guard Tour and Reporting.pdf
WJQSJXNAZJVCVSAXJHBZKSJXKJKXJSBHJBJEHHJB
Coding with GPT-5- What’s New in GPT 5 That Benefits Developers.pdf

Java modularization

  • 2. 1 What is NOT modularity ? 2 So, what is modularity then ? 3 Why use modularity ? 4 Implementations of modularity 5 OSGi 6 Jigsaw 7 Jigsaw vs Osgi 8 References
  • 3. What is NOT modularity ?
  • 4. compile time runtime What is NOT modularity ? Monolithic system • One piece • No subcomponents • Tight coupling • No independent existence • Growing functionality and interdependence
  • 5. so, what is modularity then ?
  • 6. What is Modularity ? • Module : • Every single deployable unit • Design technique that emphasises separating the functionality into modules that are : • Independent • Interchangeable • One functionality
  • 8. Java Modularity - Why ? • Pros • Louse coupling • Optimise development • Escalation and evolution • Reuse • Ease testing
  • 9. Java Modularity - Why ? • Cons • Adds tracking complexity • Needs more good code practices • Forces us to consider more flexibility • Think about collateral effects • May add architecture complexity
  • 10. Java Modularity - Implementations
  • 11. Java Modularity - Implementations  SOA, micro-services  OSGi  Dynamic modularity  Module lifecycle  Service discovery  Package security  Package versioning  Jigsaw  Static modularity  Mainly to create JRE subset  Initially for small devices
  • 13. Java Modularity - OSGi  Started in 1998  Different implementations : Equinox, Felix, Knoplerfish, Karaf, Fabric8, Netbinox  Current specs OSGi Alliance release 6.0  Every bundle ( module )  Its own class loader  Its own lifecycle  Service discovery  Dynamic loading (lazy, eager activation)  Meta information included in META-INF file  Used in : Eclipse IDE, Netbeans IDE, Glassfish, WildFly, Adobe AEM ( Sling )
  • 15. Java Modularity - Jigsaw  Started in 2014  In Early Access now, or final release in JDK 9 in 2017  Explicit declaration of  Importing modules  Exporting packages  Meta info in module-info.java file  Module names must be unique  Not includes versioning  Introduce a new artifact format : JMOD
  • 16. Java Modularity - Jigsaw Modules dependencies in Jigsaw com.foo.app com.foo.app.api com.foo.app.report java.sql java.logging java.base can not read depends java.xml reads com.foo.other depends reads depends & publishes
  • 17. Java Modularity - Jigsaw Module specification : module com.foo.bar { // module definition requires com.foo.baz; // module needed exports com.foo.bar.alpha; // package published exports com.foo.bar.beta to // package published ONLY com.foo.client, // to these modules com.foo.reporter; provides com.foo.api.MyInterface with // publishing a service com.foo.impl.MyImpl; uses com.foo.api.YourInterface; // consuming a service requires public com.slf4j; // module needed AND // made readable to everyone // who requires this module com.foo.bar }
  • 18. Java Modularity - Jigsaw / OSGi
  • 19. Java Modularity - Jigsaw Main differences Jigsaw OSGi Module dependency Java package dependency Version agnostic ( only 1 allowed ) Version capable ( lots of versions loaded at the same time ) No lifecycle management Lifecycle management Export constraints No export constraints Static modularity at deployment Dynamic modularity at deploy + runtime
  • 20. Java Modularity - References
  • 21. Java Modularity - bloggers Peter Kriens @pkriens Neil Bartlett @nbartlett Paul Bakker @pbakker JB Onofre @jbonofre Mark Reinhold @mreinhold
  • 22. Java Modularity - References About Modularity ( monoliths / modular ) http://www.codingthearchitecture.com/2014/11/19/what_is_a_monolith.html http://c2.com/cgi/wiki?MonolithicDesign https://en.wikipedia.org/wiki/Modular_programming About OSGi https://www.osgi.org/developer/specifications/ ( specs ) http://njbartlett.name/files/osgibook_preview_20091217.pdf ( free old book ) About Jigsaw http://openjdk.java.net/projects/jigsaw/ ( specs ) http://njbartlett.name/2015/11/13/osgi-jigsaw.html https://www.youtube.com/watch?v=y8bpKYDrF5I https://www.youtube.com/watch?v=UKC0uC7QUkI ( Mark’s Devoxx Talk )
  • 23. Java Modularity - Books Non modularity books Martin FowlerGoF Paul Bakker Richard S. Hall Achim Nierbeck
  • 24. Thank you…. and happy coding !!!

Editor's Notes

  • #2: hi, thank you for coming in this presentation I will try to show some basic concepts about modularity, and specially in Java well, first of all I would want to thank you all the people that have helped to refine this presentation with their comments, thank you.
  • #3: this is the agenda I will try to cover during the talk, from the definition of concepts to detail of some implementations and finally comparing those implementations
  • #4: if we want to talk about java modularity first we should start defining what is modularity but instead I will start defining what is NOT modularity because we have to recognise the differences
  • #5: *so, the contrary of a modular application would be a monolithic application *having the image of a monolith as a single giant block of stone or metal *these are some characteristics that a monolithic system can have : —made in only one deployable piece —it doesn't have subcomponents that we can deliver separately —if we have different parts in our app but we still have tight coupling between those parts we will have a monolith also —another characteristic of a monolithic system could be that its parts don't have existence apart from the other parts —and finally we can end in a monolithic system if during the time of development we have grown the functionality and the interdependence between the parts at the same time
  • #6: then now , we know what is NOT modularity, so lets see what could be one description of what is modularity
  • #7: * first, I will describe what a module could be, and in this case I consider a module as every deployable unit that your compilation creates and here we have a description of what modularity could be : a design technique where we invest effort in creating different models that are : —- independent because they can run separately —- interchángebol because they work using contracts and we can replace them with other modules —- and with limited functionality for every module to ease the separation of concerns as I said this is the ideal situation, maybe reality could be different
  • #8: now we come to what are the benefits of using modularity and maybe also what are the drawbacks of using it
  • #9: so some of the pros that we can find using modularity are : * that it helps to louse coupling because we separate the logical parts of the system into modules and for that we work using contracts * also it can help optimising development because teams can work “separately” without waiting one team for another to finish their code * also it may ease the escalation and evolution of the application as we can evolute a single module without “affecting” the rest of the system * also it forces us to reuse modules due to the single functionality principle * and finally we can test every module more easily without having a lot of parts interconnected
  • #10: but also we can find some drawbacks that we should consider if we adopt this pattern: * one of them is that it adds more tracking complexity because instead of tracking one deployable unit you have to deal with several , specially for versions * also it needs us to be more accurate with our code practices to avoid repeating code, to keep independence * in some cases we also have to consider more flexibility because we will have different typologies of module consumers and also restrict the collateral effects that they can cause to the system * and finally we can end with more architecture complexity because of the protocols we need to interconnect the modules, runtimes where deploy them and the formats to define the modules
  • #11: so now that we know what is and what is not modularity we are going to see some of the implementation we can find out there
  • #12: first we can see 2 implementations that are famous, everyone for different reasons. * SOA as an architectural design that converts your system into a lot of web services with different elements that provide interconection, security, balance, etc *also we have micro services, that nowadays is very trendy and it claims to be an evolution and radical improvement of SOA where you split your app into modules that have nothing in common with the other micro services not sharing even the persistence layer nor the coding language *then we have the two implementations that motivated this presentation —OSGi as an implementation considering the compile and runtime modularity, having module lifecycle control, service discovery and injection, restriction of the visibility for the public packages, and also the ability to manage different version of the same package at the same time —and finally Jigsaw as a way to modularise your app ( and the JRE ) creating smaller modules that you can combine at the delivery time it was created initially to reduce the JRE delivering only the needed libraries and its now expected to come to life the next year
  • #13: I will try to briefly describe the last two implementations, OSGi and Jigsaw And I will start with OSGi giving a fast introduction to it just to describe a bit deeper Jigsaw and see the main differences people searches in google are always curious, don't you think ?
  • #14: well, OSGi started 18 years ago and is present in some of the most used apps among developers there are some implementations but basically are Felix and Equinox and the rest can run one of them and add some enterprise features actually the last release is the 6.0 released in 2014 every bundle in the system has its own class loader and we an control the lifecycle of every bundle independently it has a service registry where any service can be registered and later any managed class can query that registry and inject the required service also we can configure those osgi components to be loaded and activated at start time or at the moment they are needed by other modules the information about exporting and importing packages is included inside the meta-ind file, although all of us use bnd maven plugin to generate that meta info on the compilation time.
  • #15: now we move to see what is jigsaw apart from a movie character and a game….
  • #16: its an oracle project related to the JDK that now is in early access and will be final released next year it defines explicit declaration for importing modules and exporting packages , including constraining the destination module uses the module-info.java file to define the module does not cover the module versioning as we’ve seen with OSGi and introduces a new artefact call JMOD that includes .jar, config files, and documentation also it has a default module for non defined modules called unnamed and it does not consider the lifecycle of the modules as it does OSGi
  • #17: here is just a simple case of dependencies introducing the concept of modules in this example we have our com.foo.app module with 2 packages inside, an api package exported and a report package not exported it depends on java.sql and is capable to read the exported packages of it, but its not capable to read anything inside java.logging , there is no transitive readability and to solve that we can explicitly define a dependency as public…the case with java.xml
  • #18: in this example we can see a declaration file for a module with the elements to describe the dependencies : requires, exports, exports to, provides, uses and requires public
  • #19: so, now we have seen some characteristics of jigsaw and osgi and as a fast comparative we will see a table with the main facts
  • #20: while jigsaw have dependencies at a module level, in osgi that dependencies are at a package level no matter the module where they are. also jigsaw is version agnostic and for that we can not have 2 different versions of the same module running together jigsaw also is not intended to control the lifecycle of any module with jigsaw we find that we can constraint with who a module is sharing a package and finally jigsaw is intended to generate a modularity at deployment time having several tiny parts of the code, but in OSGi we have that modularity in the runtime also thanks to the container
  • #21: well, I would like to end this presentation showing some references that may help those of you who want to know more about this topic.
  • #22: these are some of the people that post often about OSGi and Jigsaw. Peter as principal member of the OSGi Alliance and Neil as an OSGi expert and maintainer of the BND Tools. Also we have Paul Bakker as a constant blogger about OSGi and creator of Amdatu, a list of tools to create modular apps with OSGi. We also have JeanBaptiste as the PMC of the Apache Karaf project, an OSGi container with more features. And finally we have Mark Reinhold as the Chief Architect of the Java platform at Oracle.
  • #23: here i’ve put some links for every main subject including the Devoxx Talk by Mark Reinhold about jigsaw that I was proud to assist last November.
  • #24: and finally here you can see some books that could help when considering modularity as a design for your apps. I’ve included also 2 sci-fi books about generated realities… just because I like them a lot.
  • #25: well, thats all from my side ( as we say every morning ) hope you have enjoyed the presentation… and if you have easy questions, please go shoot me.