low level join