implemented the presenter