added some code samples to make it concrete