a whole lotta interfaces