improve external API creation