restructure and prepare for final release