self_lib