using dal and promises