Further implementation of data model

This request mainly serves as a test for using the github workflow of branching, pushing, requesting, reviewing, merging. I continue to commit on this branch, which would not be a good idea during a real ongoing code review ...