add API controller and implement search interface