work on selection mechanism