Only instantiate when needed

Only instantiate objects when needed (Don't want to create the object
only not to use it)