working examples
clearer hopefully