worked on callback function and select functions