web application and necessary refactorings