reference this is completing functionality initially proposed in work done on #476
reference this is completing functionality initially proposed in work done on #476