update readme and whole code