use idioms from web-kernel