basic example working end to end