fixed and refactored presenter