merged&&fixed