refactor for presentation