updated the monkey-patched data frame to automatically retain attached data frame attributes when modified and have added some methods for working with data frame units and descriptions