Improved requirements parsing