more structured way