update program structure