diff --git a/baku-toolkit/lib/src/main/java/io/v/baku/toolkit/BakuActivityMixin.java b/baku-toolkit/lib/src/main/java/io/v/baku/toolkit/BakuActivityMixin.java
index 31e3082..79975d6 100644
--- a/baku-toolkit/lib/src/main/java/io/v/baku/toolkit/BakuActivityMixin.java
+++ b/baku-toolkit/lib/src/main/java/io/v/baku/toolkit/BakuActivityMixin.java
@@ -117,11 +117,11 @@
 
     public <U> SyncbaseBinding.Builder<U> binder() {
         return SyncbaseBinding.<U>builder()
-                .bakuActivity(this);
+                .activity(this);
     }
 
     public CollectionBinding.Builder collectionBinder() {
         return CollectionBinding.builder()
-                .bakuActivity(this);
+                .activity(this);
     }
 }
diff --git a/baku-toolkit/lib/src/main/java/io/v/baku/toolkit/bind/BaseBuilder.java b/baku-toolkit/lib/src/main/java/io/v/baku/toolkit/bind/BaseBuilder.java
index f1e925e..64ba08a 100644
--- a/baku-toolkit/lib/src/main/java/io/v/baku/toolkit/bind/BaseBuilder.java
+++ b/baku-toolkit/lib/src/main/java/io/v/baku/toolkit/bind/BaseBuilder.java
@@ -40,13 +40,13 @@
     /**
      * Sets the following properties from the given {@link BakuActivityTrait}:
      * <ul>
-     *     <li>{@code activity}</li>
-     *     <li>{@code rxTable}</li>
-     *     <li>{@code subscriptionParent}</li>
-     *     <li>{@code onError}</li>
+     *     <li>{@link #activity(Activity)}</li>
+     *     <li>{@link #rxTable(RxTable)}</li>
+     *     <li>{@link #subscriptionParent(CompositeSubscription)}</li>
+     *     <li>{@link #onError(Action1)}</li>
      * </ul>
      */
-    public T bakuActivity(final BakuActivityTrait<?> trait) {
+    public T activity(final BakuActivityTrait<?> trait) {
         return activity(trait.getVAndroidContextTrait().getAndroidContext())
                 .rxTable(trait.getSyncbaseTable())
                 .subscriptionParent(trait.getSubscriptions())
@@ -56,11 +56,11 @@
     /**
      * Sets the following properties from the given {@link VAndroidContextTrait}:
      * <ul>
-     *     <li>{@code activity}</li>
-     *     <li>{@code onError}</li>
+     *     <li>{@link #activity(Activity)}</li>
+     *     <li>{@link #onError(Action1)}</li>
      * </ul>
      */
-    public T vActivity(final VAndroidContextTrait<? extends Activity> trait) {
+    public T activity(final VAndroidContextTrait<? extends Activity> trait) {
         return activity(trait.getAndroidContext())
                 .onError(ErrorReporters.getDefaultSyncErrorReporter(trait));
     }
