add pool, layer; design for touch;