seprate lib