add logic to generate samples