code structure major changes