updated style and structure