pulled out  sample data to make it more general