modal dialog first steps + huge refactoring, package naming now domain driven