revise api to remove enum from interfaces