Why does the API need to remain as is?