don't need pair or queue