decouple lib dependancies