basic data model implemented.
ignore python crap