attributes can track other attributes via procs