use transaction for fast insertion