performance enhancement: replaced StringBuffer with StringBulder