updated for self contain libs