wrapper now returns data in classes rather than dictionaries