swap join for merge and lose require(plyr)