some variables names changed