reestruturado lib