some basic DI
made some test functions use the data access layer