some changes
finished [issuse 53]
some merge