some semantic changes