more generic setup for handling data.