allow overloading controller