add collect and select