first version, needs finetuning for primary key and foreign keys
commit