a refactoring project for SOEN 343