some first thoughts about architecture :P