altered function definition