component -> thing