added transaction rollback and document skeleton