merge varous patch