Adds add/remove requirement functionality, and default constructor\nAuthors: pcbiggs, xwen2