Adopted to lib-less structure