no reason to call ucFirst() so many times and in a loop