add algorithm
change readme