diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthorizationCodeEntity.java b/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthorizationCodeEntity.java
index 2747b6f3a..363f2f4ab 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthorizationCodeEntity.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/model/AuthorizationCodeEntity.java
@@ -16,6 +16,7 @@ import org.springframework.security.oauth2.provider.code.AuthorizationRequestHol
 
 /**
  * Entity class for authorization codes
+ * 
  * @author aanganes
  *
  */
@@ -40,9 +41,10 @@ public class AuthorizationCodeEntity {
 	}
 	
 	/**
-	 * Create a new AuthorizationCodeEntity with the given code.
+	 * Create a new AuthorizationCodeEntity with the given code and AuthorizationRequestHolder.
 	 * 
-	 * @param code the authorization code
+	 * @param code 			the authorization code
+	 * @param authRequest	the AuthoriztionRequestHolder associated with the original code request
 	 */
 	public AuthorizationCodeEntity(String code, AuthorizationRequestHolder authRequest) {
 		this.code = code;
diff --git a/openid-connect-common/src/main/java/org/mitre/oauth2/repository/AuthorizationCodeRepository.java b/openid-connect-common/src/main/java/org/mitre/oauth2/repository/AuthorizationCodeRepository.java
index 6510f8852..bdd2e295d 100644
--- a/openid-connect-common/src/main/java/org/mitre/oauth2/repository/AuthorizationCodeRepository.java
+++ b/openid-connect-common/src/main/java/org/mitre/oauth2/repository/AuthorizationCodeRepository.java
@@ -5,12 +5,28 @@ import org.springframework.security.oauth2.common.exceptions.InvalidGrantExcepti
 import org.springframework.security.oauth2.provider.code.AuthorizationRequestHolder;
 
 /**
- * @author amanda
+ * Interface for saving and consuming OAuth2 authorization codes as AuthorizationCodeEntitys. 
+ * 
+ * @author aanganes
  *
  */
 public interface AuthorizationCodeRepository {
 
+	/**
+	 * Save an AuthorizationCodeEntity to the repository
+	 * 
+	 * @param authorizationCode the AuthorizationCodeEntity to save
+	 * @return					the saved AuthorizationCodeEntity
+	 */
 	public AuthorizationCodeEntity save(AuthorizationCodeEntity authorizationCode);
 	
+	/**
+	 * Consume an authorization code.
+	 * 
+	 * @param code						the authorization code value
+	 * @return							the authentication associated with the code	
+	 * @throws InvalidGrantException	if no AuthorizationCodeEntity is found with the given value
+	 */
 	public AuthorizationRequestHolder consume(String code) throws InvalidGrantException;
+	
 }
diff --git a/openid-connect-server/src/main/java/org/mitre/oauth2/repository/impl/JpaAuthorizationCodeRepository.java b/openid-connect-server/src/main/java/org/mitre/oauth2/repository/impl/JpaAuthorizationCodeRepository.java
index e549735fb..13e1a4350 100644
--- a/openid-connect-server/src/main/java/org/mitre/oauth2/repository/impl/JpaAuthorizationCodeRepository.java
+++ b/openid-connect-server/src/main/java/org/mitre/oauth2/repository/impl/JpaAuthorizationCodeRepository.java
@@ -16,6 +16,8 @@ import org.springframework.stereotype.Repository;
 import org.springframework.transaction.annotation.Transactional;
 
 /**
+ * JPA AuthorizationCodeRepository implementation.
+ * 
  * @author aanganes
  *
  */
@@ -54,7 +56,8 @@ public class JpaAuthorizationCodeRepository implements AuthorizationCodeReposito
 		}
 		
 		AuthorizationRequestHolder authRequest = result.getAuthorizationRequestHolder();
-		//authRequest.getAuthenticationRequest();
+		
+		manager.remove(result);
 		
 		return authRequest;
 
diff --git a/openid-connect-server/src/main/java/org/mitre/oauth2/service/impl/DefaultOAuth2AuthorizationCodeService.java b/openid-connect-server/src/main/java/org/mitre/oauth2/service/impl/DefaultOAuth2AuthorizationCodeService.java
index fff72ce5b..7c2c0fbc6 100644
--- a/openid-connect-server/src/main/java/org/mitre/oauth2/service/impl/DefaultOAuth2AuthorizationCodeService.java
+++ b/openid-connect-server/src/main/java/org/mitre/oauth2/service/impl/DefaultOAuth2AuthorizationCodeService.java
@@ -13,6 +13,8 @@ import org.springframework.security.oauth2.provider.code.AuthorizationRequestHol
 import org.springframework.stereotype.Service;
 
 /**
+ * Database-backed, random-value authorization code service implementation.
+ * 
  * @author aanganes
  *
  */
@@ -24,8 +26,13 @@ public class DefaultOAuth2AuthorizationCodeService implements AuthorizationCodeS
 	
 	private RandomValueStringGenerator generator = new RandomValueStringGenerator();
 	
-	/* (non-Javadoc)
-	 * @see org.springframework.security.oauth2.provider.code.AuthorizationCodeServices#createAuthorizationCode(org.springframework.security.oauth2.provider.code.AuthorizationRequestHolder)
+	/**
+	 * Generate a random authorization code and create an AuthorizationCodeEntity,
+	 * which will be stored in the repository.
+	 * 
+	 * @param authentication 	the authentication of the current user, to be retrieved when the
+	 * 							code is consumed
+	 * @return 					the authorization code
 	 */
 	@Override
 	public String createAuthorizationCode(AuthorizationRequestHolder authentication) {
@@ -37,8 +44,15 @@ public class DefaultOAuth2AuthorizationCodeService implements AuthorizationCodeS
 		return code;
 	}
 
-	/* (non-Javadoc)
-	 * @see org.springframework.security.oauth2.provider.code.AuthorizationCodeServices#consumeAuthorizationCode(java.lang.String)
+	/**
+	 * Consume a given authorization code. 
+	 * Match the provided string to an AuthorizationCodeEntity. If one is found, return 
+	 * the authentication associated with the code. If one is not found, throw an
+	 * InvalidGrantException.
+	 * 
+	 * @param code		the authorization code
+	 * @return			the authentication that made the original request
+	 * @throws 			InvalidGrantException, if an AuthorizationCodeEntity is not found with the given value
 	 */
 	@Override
 	public AuthorizationRequestHolder consumeAuthorizationCode(String code) throws InvalidGrantException {
@@ -47,10 +61,16 @@ public class DefaultOAuth2AuthorizationCodeService implements AuthorizationCodeS
 		return auth;
 	}
 
+	/**
+	 * @return the repository
+	 */
 	public AuthorizationCodeRepository getRepository() {
 		return repository;
 	}
 
+	/**
+	 * @param repository the repository to set
+	 */
 	public void setRepository(AuthorizationCodeRepository repository) {
 		this.repository = repository;
 	}