separate api controller