updated structure and style