more detailed structure