providing detailed descriptions of the methods used and the challenges that arose in the