some abstractions, now in coffee