add new things
merge two version