several modifications