create and reuse APIs and their components