--- /dev/null
+FORM
+- defined as abstract
+- implement html and gtk (each implementation could have extensions (for example gtk can link to gtkbuilder))
+- load definition and elements from xml (and xml file)
+- set/get table for sql
+- add/remove/get element
+- each element must parse own definition from xml
+- each element is bounded to a db field
+- set/get key for sql
+- bind (load values from http, database (ex gdaex), xml, ghashtable, etc.)
+- get sql
+
+
+ELEMENT
+- defined as abstract
+- implement html and gtk
+
+
+ELEMENT FILTER
+- to be transformed from interface to abstract
+
+
+ELEMENT VALIDATOR
+- to be transformed from interface to abstract
+
+
+FIELD
+- boolean, integer, float, string, datetime
+
+
+DB
+
+