moving components to lib