fix some mistake, but not yet