small changes here and there, should be reviewed