adding a better sample generator for users