This paper develops a search model with heterogeneous workers, rms, and on-the-job search. Employed low-skilled workers are allowed to seek better paid jobs at high productivity rms. Low productivity rms make take-it-or-leave-it wage o ers, whereas high productivity rms use Nash bargaining over wages. There are two important sources of ine ciency in the model besides the well-known classical search externality. First, low-skilled workers do not have any bargaining power when they are employed at low productivity rms. Second, the two types of workers are pooled in the same submarket. We demonstrate that lump-sum transfers paid to workers can internalize these ine ciencies. Moreover, both types of rms may bene t from the increase in the supply of low-skilled workers when the productivity di erence in the two jobs for these workers is large, as a result the overall wage gap among workers increase. On the contrary, when the productivity di erence is small, the e ects are reversed. Finally, both types of rms emerge in the equilibrium when rms are allowed to open vacancies in both submarkets. On the one hand, it is attractive for rms to open vacancies in the low productivity submarket since they pay low wages to workers. On the other hand, it is also pro table for rms to open vacancies in the high productivity submarket because the probability of jobs being lled with low-skilled workers increase signi cantly, even though the bargained wages of high-skilled workers increase.