Further struggles in rewriting the API parts