some changes
Final Version
merge