custom onSelect added through function composition