beforre new appliedcontroller
'added a seperated interface  and some clean ups'