better and uglier shout function