Now data could be anything rather than 0 and 1.