adding dependencies, main controller shell
adding base functionality