seperate lib into multiple fiels