add db and transaction support