added a 2-tuple data structure