use self invoked function to init plugin instead of jQuery directly