New library_create function, now used in init flow