make insert data callback optional