finally correctly restructured