Updated structure and code