code had a little improvement
merging