In Partial Fulfillment of project SOEN 691C Refactoring