added structure and design