refine library structure and naming conventions, more modular naming