updated, now using cross-references