touch logic added