first implementation of api to manage components