database layer final revision