Refactored to include requirement model and to make the controllers/model accessible from everywhere in the program