almost done with new select function!