overload for element.controller