separated and refactored banner utits