some change for beauty, add more parameters to eselect()