abstracting away to couth