Added Unit of work Pattern,(not done yet)