refactoring + adding views
Adding main application