html demo
main functionality