Updated class diagram
Changed Prerequisite into a generic interface
More unit testing