why `select` here and `reject` below? We can have the same implementation at both the places?