library and example