made upstr and dnstr non-destructive