demo2 & demo5