some classes to help with data wrangling