application framework refactoring