using data targets instead of visible DOM content