new structure implemented