Restructured the code; renamed the library