added full working example