extracted control flow responsibility out of dbDo