Almost finish

few things need to modified.