move requirements to lib