updated structure and script