working on controller interface