implemented dal and api