main module for library