
549 S.E.2d 545 (2001)
249 Ga. App. 772
ARMSTRONG
v.
The STATE.
No. A01A0271.
Court of Appeals of Georgia.
May 30, 2001.
*546 Sara M. Yeager, Chamblee, for appellant.
J. Tom Morgan, Dist.Atty., Barbara B. Conroy, Kristin L. Wood, Asst. Dist. Attys., for appellee.
RUFFIN, Judge.
A jury found Jamie Armstrong guilty of criminal attempt to violate the Georgia Controlled Substances Act.[1] On appeal, Armstrong challenges the sufficiency of the evidence. Armstrong also asserts that the trial court erred in denying his motion to suppress and in admitting two letters into evidence without proper authentication. Armstrong's assertions lack merit, and we affirm.
1. Viewed in the light most favorable to the jury's verdict,[2] the evidence shows that Armstrong, Shameik Blount, and Raymond Hines lived in North Carolina. Blount had known Armstrong since junior high school, and Hines had known Armstrong since high school.
In February 1999, the three men drove to Atlanta, Georgia, to an apartment shared by two brothers, Yusef and Kairi Alexander. According to Blount, both he and Armstrong had nine millimeter semi-automatic guns that they wanted to trade for marijuana. Blount and Armstrong showed the guns to Yusef, who then placed a call to Rufus Caster. Yusef believed Caster would be able to obtain the marijuana. The next day, Caster came to the apartment, and Blount and Armstrong showed him their guns. Caster indicated that he would provide a pound of marijuana in exchange for one gun.
Caster left, and when he returned, he had a bag full of marijuana. Blount testified that Caster wanted both guns in exchange for the bag of marijuana, which evidently amounted to less than two pounds. However, Caster agreed to accept one gun in exchange for the drugs, and he took Blount's. Armstrong *547 kept his gun. Caster asked Blount for some bullets, which Blount provided.
After the exchange took place, a shot was fired in the apartment. No one saw who fired the shot, but it struck Caster in the head and killed him. Armstrong grabbed the bag of marijuana, and he, Blount, and Hines fled the apartment and drove back to North Carolina. Blount and Armstrong were subsequently arrested and extradited to Georgia. While the two men were in jail, Blount received two, unsigned notes, addressed to him, threatening him if he "snitched." Blount testified that, after receiving these notes, he saw Armstrong, who made what Blount believed was a threatening gesture.
According to Hines, on the drive from Georgia to North Carolina, Armstrong threatened to kill him and his family if he told anyone what had happened. Hines testified that, to avoid putting his family in danger, he fled to New York, where he remained for almost one year. After he returned to North Carolina, he, too, was arrested and extradited to Georgia to face criminal charges.
Armstrong, Blount, and Hines were charged with murder, felony murder, and attempt to violate the Georgia Controlled Substances Act. Prior to trial, Blount and Hines pled guilty to the drug charge and agreed to testify for the State. During the trial, both Blount and Hines testified that Armstrong rode with them to Georgia. In addition, Yusef and Kairi Alexander identified Armstrong as the man who arrived with Blount.
Notwithstanding this eyewitness testimony placing Armstrong at the scene of the crime, Armstrong took the stand and denied going to Georgia with Blount and Hines. To buttress his defense, Armstrong introduced the testimony of his mother and girlfriend, who claimed that Armstrong was in North Carolina when the crimes took place. The jury evidently found this testimony incredible. Although the jury acquitted Armstrong of murder and felony murder, it convicted him of attempting to violate the Georgia Controlled Substances Act.
Contrary to Armstrong's contention on appeal, this evidence is sufficient to support his conviction.[3] Indeed, given the testimony of Blount and Hines, the evidence of Armstrong's guilt can fairly be characterized as overwhelming. "As for the believability of [Armstrong's] alibi evidence and the credibility of the witnesses, those were matters to be resolved by the ... factfinder."[4] Here, the jurors, as the factfinders, were clearly authorized to reject the testimony of Armstrong's mother and girlfriend.[5] Because the evidence was sufficient to support Armstrong's conviction, we affirm.
2. Armstrong alleges as error the trial court's failure to suppress evidence of his identification during a pretrial lineup and at trial. Specifically, Armstrong argues that his identification at trial by Yusef and Kairi Alexander was tainted by an impermissibly suggestive prior photo array shown to these witnesses. In determining whether a pre-trial identification procedure violates due process, the test is whether the procedure "was so impermissibly suggestive as to give rise to a very substantial likelihood of irreparable misidentification."[6] In evaluating whether there is such substantial likelihood of misidentification, the factors considered include: the witness' opportunity to observe the defendant at the time of the crime; the witness' degree of attention; the accuracy of the witness' prior description; the level of certainty demonstrated by the witness at the time of identification; and the length of time between the crime and the identification.[7]
*548 Here, we find no danger of irreparable misidentification as both Yusef and Kairi Alexander had ample opportunity to observe Armstrong. Both brothers testified that Armstrong was in and out of their apartment over a two-day period. In fact, Yusef spent a significant amount of time with Armstrong, playing cards with him and riding in a car with him. As the Alexanders' association with Armstrong was far from fleeting, we find it highly unlikely that the photo lineup resulted in their misidentification of Armstrong.[8]
Moreover, a claim of an impermissibly suggestive lineup is subject to a harmless error analysis.[9] Pretermitting whether the lineup was suggestive, both Blount and Hines, who had known Armstrong for years, placed him at the scene of the crime. Thus, any error in admitting Yusef's and Kairi's identification of Armstrong was harmless.[10]
3. On appeal, Armstrong contends that the trial court erred in admitting evidence of the two notes Blount received while in jail. Armstrong argues that the letters were not properly authenticated and should have been excluded. We disagree. "Authentication of a writing may be proved by circumstantial evidence."[11] Here, the notes Blount received threatened him if he "snitched." According to Blount, Armstrong was the only person against whom he had agreed to testify. Given this fact, there is at least circumstantial evidence that Armstrong penned the notes.[12] Assuming, for the sake of argument, that the notes were not properly authenticated, Armstrong still would not be entitled to reversal. Given the overwhelming evidence of Armstrong's guilt, any alleged error would be harmless.[13]
Judgment affirmed.
JOHNSON, P.J., and ELLINGTON, J., concur.
NOTES
[1]  The jury acquitted Armstrong of murder and felony murder charges.
[2]  See Bluain v. State, 242 Ga.App. 125(1), 529 S.E.2d 155 (2000).
[3]  See Knight v. State, 242 Ga.App. 363, 364-365(1), 528 S.E.2d 855 (2000).
[4]  Shepherd v. State, 245 Ga.App. 386, 387(1), 537 S.E.2d 777 (2000).
[5]  Id.
[6]  (Punctuation omitted.) McGee v. State, 209 Ga.App. 261, 262(1), 433 S.E.2d 374 (1993), overruled in part on other grounds, Jones v. State, 272 Ga. 900, 901-903(2), 537 S.E.2d 80 (2000).
[7]  See Marshall v. State, 233 Ga.App. 573, 575(2)(a), 504 S.E.2d 764 (1998).
[8]  See id. at 576, 504 S.E.2d 764.
[9]  See McGee, supra.
[10]  See id.
[11]  (Punctuation omitted.) Weathers v. State, 198 Ga.App. 871, 872(3), 403 S.E.2d 449 (1991).
[12]  Id.
[13]  See Malaguti v. State, 273 Ga. 398, 403(3), 543 S.E.2d 1 (2001).
