add demo_layout
add data operations