diff --git a/uncloud/README-object-relations.md b/uncloud/README-object-relations.md
new file mode 100644
index 0000000..7bbc11a
--- /dev/null
+++ b/uncloud/README-object-relations.md
@@ -0,0 +1,58 @@
+## Introduction
+
+This article describes how models relate to each other and what the
+design ideas are. It is meant to prevent us from double implementing
+something or changing something that is already solved.
+
+
+## Products
+
+A product is something someone can order. We might have "low level"
+products that need to be composed (= higher degree of flexibility, but
+more amount of details necessary) and "composed products" that present
+some defaults or select other products automatically (f.i. a "dual
+stack VM" can be a VM + a disk + an IPv4 address).
+
+
+## Bills
+
+Bills represent active orders of a month. Bills can be shown during a
+month but only become definitive at the end of the month.
+
+
+## Orders
+
+When
+
+## Payment Methods
+
+Users/customers can register payment methods.
+
+
+## Sample flows / products
+
+### A VM snapshot
+
+A VM snapshot creates a snapshot of all disks attached to a VM to be
+able to rollback the VM to a previous state.
+
+Creating a VM snapshot (-product) creates a related order. Deleting a
+VMSnapshotproduct sets the order to deleted.
+
+
+### Object Storage
+
+(tbd by Balazs)
+
+
+### A "raw" VM
+
+(tbd by Ahmed)
+
+### An IPv6 only VM
+
+(tbd by Ahmed)
+
+### A dual stack VM
+
+(tbd by Ahmed)