started on recursive select and data validation