Adapted from pyf requiremetsn