add advance interface and samples