Create an API that is actually usable