source from github idangerous swiper