update the software structure