initial library from existing source codes