better handling of metadata
rebuild should happen when requirements.txt changes