first touch implementation