I've added presentation and finish refactoring.