merge newest codes