Refactore structure of library
Refactore structure of library