refactoring the data model; now it seems to be useable