complete popvoer function