Re-arrange and added some stuffs