diff --git a/src/main/java/net/onrc/onos/api/intent/IIntentRuntimeService.java b/src/main/java/net/onrc/onos/api/intent/IIntentRuntimeService.java
index 73ed704..fc9d788 100644
--- a/src/main/java/net/onrc/onos/api/intent/IIntentRuntimeService.java
+++ b/src/main/java/net/onrc/onos/api/intent/IIntentRuntimeService.java
@@ -21,7 +21,9 @@
     /**
      * Installs the specified intent synchronously.
      *
+     * <p>
      * This method blocks until the installation succeeds or fails.
+     * </p>
      *
      * @param intent the intent to be installed.
      * @return true if the intent is successfully installed. Otherwise, false.
@@ -31,7 +33,9 @@
     /**
      * Removes the specified intent synchronously.
      *
+     * <p>
      * This method blocks until the removal succeeds or fails.
+     * </p>
      *
      * @param id the ID of the intent to be uninstalled.
      * @return true if the intent is successfully uninstalled. Otherwise, false.
@@ -81,9 +85,11 @@
     /**
      * Adds an IntentInstaller associated with a given intent type.
      *
+     * <p>
      * If there is an Intent instance of the specified Intent type in the runtime,
      * the specified IntentInstaller doesn't replace the existing installer.
      * Otherwise, the existing installer is replaced with the specified installer.
+     * </p>
      *
      * @param type the class instance of the intent type.
      * @param installer the installer of the given intent type.
@@ -96,9 +102,11 @@
     /**
      * Removes the IntentInstaller associated with a given intent type.
      *
+     * <p>
      * If there is an Intent instance of the specified Intent type in the runtime,
      * the specified IntentInstaller is not removed. Otherwise, the existing
      * IntentInstaller is removed from the runtime.
+     * </p>
      *
      * @param type the class instance of the intent type.
      * @param <T> the type of the intent.
diff --git a/src/main/java/net/onrc/onos/api/intent/Intent.java b/src/main/java/net/onrc/onos/api/intent/Intent.java
index 0488b35..418346a 100644
--- a/src/main/java/net/onrc/onos/api/intent/Intent.java
+++ b/src/main/java/net/onrc/onos/api/intent/Intent.java
@@ -7,17 +7,23 @@
 
 /**
  * The base class of an intent type.
-
+ *
+ * <p>
  * This class is sub-classed to provide other intent types like shortest path
  * connectivity and bandwidth constrained shortest path connectivity.
-
+ * </p>
+ *
+ * <p>
  * The reasoning behind "intent" is that the applications can provide some
  * abstract representation of how traffic should flow be handled by the
  * networking, allowing the network OS to compile, reserve and optimize the
  * data-plane to satisfy those constraints.
+ * </p>
  *
+ * <p>
  * It is assumed that any kinds of intents are immutable.
  * Developers that will define a new intent type should ensure its immutability.
+ * </p>
  */
 public abstract class Intent implements IBatchOperationTarget {
     private final IntentId id;
diff --git a/src/main/java/net/onrc/onos/api/intent/IntentId.java b/src/main/java/net/onrc/onos/api/intent/IntentId.java
index 4ec3e6a..a9a9c78 100644
--- a/src/main/java/net/onrc/onos/api/intent/IntentId.java
+++ b/src/main/java/net/onrc/onos/api/intent/IntentId.java
@@ -5,7 +5,9 @@
 /**
  * The class representing intent's ID.
  *
+ * <p>
  * This class is immutable.
+ * </p>
  */
 public final class IntentId extends BatchOperationTargetId {
     private final long id;
@@ -13,7 +15,9 @@
     /**
      * Constructs the ID corresponding to a given long value.
      *
+     * <p>
      * In the future, this constructor will not be exposed to avoid misuses.
+     * </p>
      *
      * @param id the underlay value of this ID.
      */
diff --git a/src/main/java/net/onrc/onos/api/intent/IntentResolver.java b/src/main/java/net/onrc/onos/api/intent/IntentResolver.java
index 1f13cdc..a27cc57 100644
--- a/src/main/java/net/onrc/onos/api/intent/IntentResolver.java
+++ b/src/main/java/net/onrc/onos/api/intent/IntentResolver.java
@@ -5,8 +5,10 @@
 /**
  * An interface to translate an intent to lower level intents.
  *
+ * <p>
  * IntentResolvers are registered to {@link IIntentRuntimeService} to handle translations of intents
  * (we call it intent resolution).
+ * </p>
  *
  * @param <T> the type of intent this resolver translates
  */
diff --git a/src/main/java/net/onrc/onos/core/newintent/MultiPointToSinglePointIntent.java b/src/main/java/net/onrc/onos/core/newintent/MultiPointToSinglePointIntent.java
index 1430e00..51ce25e 100644
--- a/src/main/java/net/onrc/onos/core/newintent/MultiPointToSinglePointIntent.java
+++ b/src/main/java/net/onrc/onos/core/newintent/MultiPointToSinglePointIntent.java
@@ -15,7 +15,9 @@
 /**
  * The class represents multiple sources, single destination tree like connectivity.
  *
+ * <p>
  * This class is intended to be used for the SDN-IP application.
+ * </p>
  */
 public class MultiPointToSinglePointIntent extends Intent {
     private final ImmutableList<SwitchPort> ingressPorts;
diff --git a/src/main/java/net/onrc/onos/core/newintent/PointToPointIntent.java b/src/main/java/net/onrc/onos/core/newintent/PointToPointIntent.java
index e09c08b..032f931 100644
--- a/src/main/java/net/onrc/onos/core/newintent/PointToPointIntent.java
+++ b/src/main/java/net/onrc/onos/core/newintent/PointToPointIntent.java
@@ -107,9 +107,11 @@
     /**
      * Compares the specified object with this intent for equality.
      *
+     * <p>
      * Note: Comparison of idleTimeout value is done in micro-second precision.
      * Then the value less than a micro second is truncated. In addition, the comparison
      * is done between long values. It causes overflow if the idleTimeout is large.
+     * </p>
      *
      * @param obj the object to be compared with this intent for equality.
      * @return true if the specified object is equal to this intent.
