beginning of lib3