Self Executing anonymous function to wrap our code so its not in the global scope