#1 Refactoring structure of library