API refactoring (#7749)

Change-Id: I835756b240bc9ece885acdc8f43ec6a1599bb7c5