re-organize libs