abstract lib files