updated with insertType to allow Bound and Batch operations
updated with if not exists and truncate rather than drop