add select and shell sort