work on making it data driven