Made DAL layer more abstract