more improvements for the API