several things. read the diff