modify to smart way
get done
modify