modifying api to use single Interface