proper modification from the source level