parent change implementation