implementations on database libs