improved jquery plugin structure