package com.google.sps.Objects;

import java.util.ArrayList;

public final class User {

  private final String userId;
  private final String name;
  private final String firstname;
  private final String email;
  private final ArrayList<Badge> badges;
  private final ArrayList<String> groups;
  private final ArrayList<String> interests;

  public User(String userId, String firstname, String lastname, String email, 
      ArrayList<Badge> badges, ArrayList<String> groups, ArrayList<String> interests) {
    this.userId = userId;
    this.name = firstname + " " + lastname;
    this.firstname = firstname;
    this.email = email;
    this.badges = badges;
    this.groups = groups;
    this.interests = interests;
  }

  public String getUserId() {
    return userId;
  }

  public String getName() {
    return name;
  }

  public String getEmail() {
    return email;
  }

  public ArrayList<Badge> getBadges() {
    return badges;
  }

  public ArrayList<String> getGroups() {
    return groups;
  }

  public ArrayList<String> getInterests() {
    return interests;
  }

  public void addBadge(Badge newBadge) {
    this.badges.add(newBadge);
  }

  public void addInterest(String newInterest) {
    this.interests.add(newInterest);
  }

  /* Adds a unique groupId string to the user's list of groups. */
  public void addGroup(String newGroupId) {
    this.groups.add(newGroupId);
  }
}

@@ -174,42 +174,108 @@
 irst
-name;%0A  private final String email
+Name;%0A  private final String lastName;%0A  private final String email;%0A  private final int phoneNumber
 ;%0A  
@@ -446,45 +446,302 @@
 irst
-name, String lastname, String email, 
+Name, String lastName, String email) %7B%0A    this.userId = userId;%0A    this.name = firstName + %22 %22 + lastName;%0A    this.firstName = firstname;%0A    this.lastName = lastName;%0A    this.email = email;%0A  %7D%0A%0A  public User(String userId, String firstName, String lastName, String email, int phoneNumber,
 %0A   
@@ -868,25 +868,25 @@
 name = first
-n
+N
 ame + %22 %22 + 
@@ -889,17 +889,17 @@
 %22 + last
-n
+N
 ame;%0A   
@@ -909,17 +909,17 @@
 is.first
-n
+N
 ame = fi
@@ -932,37 +932,103 @@
 e;%0A    this.
-email = email
+lastName = lastName;%0A    this.email = email;%0A    this.phoneNumber = phoneNumber
 ;%0A    this.b
@@ -1233,234 +1233,772 @@
  get
-Email() %7B%0A    return email;%0A  %7D%0A%0A  public ArrayList%3CBadge%3E getBadges() %7B%0A    return badges;%0A  %7D%0A%0A  public ArrayList%3CString%3E getGroups() %7B%0A    return groups;%0A  %7D%0A%0A  public ArrayList%3CString%3E getInterests() %7B%0A    return interests
+FirstName() %7B%0A    return firstName;%0A  %7D%0A%0A  public String getLastName() %7B%0A    return lastName;%0A  %7D%0A%0A  public String getEmail() %7B%0A    return email;%0A  %7D%0A%0A  public int getPhoneNumber() %7B%0A    return phoneNumber;%0A  %7D%0A%0A  public ArrayList%3CBadge%3E getBadges() %7B%0A    return badges;%0A  %7D%0A%0A  public ArrayList%3CString%3E getGroups() %7B%0A    return groups;%0A  %7D%0A%0A  public ArrayList%3CString%3E getInterests() %7B%0A    return interests;%0A  %7D%0A%0A  public void setFirstName (String firstName) %7B%0A    this.firstName = firstName;%0A    this.name = firstName + %22 %22 + getLastName();%0A  %7D%0A%0A  public void setLastName (String lastName) %7B%0A    this.lastName = lastName;%0A    this.name = getFirstName() + %22 %22 + lastName;%0A  %7D%0A%0A  public void setPhoneNumber(int newPhoneNumber) %7B%0A    this.phoneNumber = newPhoneNumber
 ;%0A  

Add getters/setters and overload constructor for User.java