add and selet funtction