more improvements:

* template inheritence
* added suppliers
* etc.