diff --git a/entities.py b/entities.py
index 452a91b57e43f0fbb610a4501264b5b9aa5aa9c5_ZW50aXRpZXMucHk=..a8d17f05b594cf9d38cd2310ab5c0aa2b219a87a_ZW50aXRpZXMucHk= 100644
--- a/entities.py
+++ b/entities.py
@@ -3,4 +3,5 @@
 from cubes.expense.entities import Expense as BaseExpense, ExpenseLine as BaseExpenseLine
 
 class Expense(BaseExpense):
+    autocomplete_initfuncs = {'spent_for' : 'get_concerned_by'}
 
@@ -6,8 +7,4 @@
 
-    __rtags__ = {'spent_for' : 'primary'}
-    widgets = {'spent_for' : 'RestrictedAutoCompletionWidget'}
-    autocomplete_initfuncs = {'spent_for' : 'get_concerned_by'}
-    
 
 class ExpenseLine(BaseExpenseLine):
 
@@ -11,10 +8,6 @@
 
 class ExpenseLine(BaseExpenseLine):
 
-    __rtags__ = {
-        'paid_by' : 'primary',
-        }
-
     @property
     def workcase(self):
         rql = 'Any R WHERE E has_lines EL, EL eid %(el)s, E spent_for W, W ref R'
diff --git a/views/__init__.py b/views/__init__.py
index 452a91b57e43f0fbb610a4501264b5b9aa5aa9c5_dmlld3MvX19pbml0X18ucHk=..a8d17f05b594cf9d38cd2310ab5c0aa2b219a87a_dmlld3MvX19pbml0X18ucHk= 100644
--- a/views/__init__.py
+++ b/views/__init__.py
@@ -1,1 +1,17 @@
 """template-specific forms/views/actions/components"""
+from logilab.common.decorators import monkeypatch
+
+from cubicweb.web import uicfg
+from cubicweb.web.formwidgets import RestrictedAutoCompletionWidget
+from cubicweb.web.views import basecontrollers
+
+uicfg.autoform_section.tag_subject_of(('Expense', 'spent_for', '*'), 'primary')
+uicfg.autoform_field_kwargs.tag_subject_of(('Expense', 'spent_for', '*'),
+                                           {'widget': RestrictedAutoCompletionWidget})
+
+
+
+@monkeypatch(basecontrollers.JSonController)
+@basecontrollers.jsonize
+def js_get_concerned_by(self):
+    return self.req.execute('DISTINCT Any W,R ORDERBY R WHERE W ref R').rows
diff --git a/views/controllers.py b/views/controllers.py
deleted file mode 100644
index 452a91b57e43f0fbb610a4501264b5b9aa5aa9c5_dmlld3MvY29udHJvbGxlcnMucHk=..0000000000000000000000000000000000000000
--- a/views/controllers.py
+++ /dev/null
@@ -1,14 +0,0 @@
-"""Specific controllers for CRM.
-
-:organization: Logilab
-:copyright: 2003-2007 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
-:contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr
-"""
-__docformat__ = "restructuredtext en"
-
-from cubicweb.web.views.basecontrollers import JSonController
-
-def js_get_concerned_by(self):
-    return self.req.execute('DISTINCT Any W,R WHERE W ref R ORDERBY R').rows
-
-JSonController.js_get_concerned_by = js_get_concerned_by