restructured project to multi module project. the ui should get its own module