refactored task and project classes