More flexible approach, lets us save DataFrame as CSV