It's probably a good idea to wrap our code inside this auto executing anonymous function  so we don't pollute the global scope