added DB layer