Wrap everything in a anonymous self invoking function