fucking around with design patterns... not yet finished. DataAccess added