new branch for solving kpoint issue