added Tim's value or reference logic