user interface added as a submodule