fix init/next function