some semantic improvements