updated interfaces and refactoring of  the application parts