optimizations
update demo