simplified and updated
simple demo