more work on data structures