redefined methods while considering new information about scope of local variables