some progress in design and bugfixes