updated data oop to handle reading from CSV