Update structure and include boilerplate functions