included a more detailed description of our algorithm